Correzione prova pratica del 17 settembre 2003
Correzione prova pratica del 17 settembre 2003
Istruzioni:
il commento iniziale rappresenta il giudizio complessivo sul programma. Nei commenti trovate:
- FIXME: segnalazione di un errore, non necessariamente sono tutti segnalati e non necessariamente sono tutti presi in considerazione
per il voto finale
- TODO: segnala l'assenza di parti di codice
- XXX: segnala qualcosa di non chiaro o inutile ai fini del codice, commenti di ordine generale, errori di battitura o suggerimenti
Il codice presentato non è necessariamente identico a quello consegnato in quanto possono essere state effettuate modifiche per
renderlo compilabile e/o per la corretta indentazione.
//XXX (4) non imbrocca l'algoritmo, si capisce che non si e' esercitata
//ROSI AGNESE 143280 ing.elettronica whippet59@hotmail.com
//17/09/03
#include <iostream.h>
#include <string.h>
const int MAXL=80; //FIXME occorreva considerare anche il carattere di fine stringa
const MAXC=40;
void main()
{
char stringa[MAXL];
char comp[MAXC];
int n,i;
int l=strlen(comp); //XXX l conterra' un valore a caso visto che comp non e' stata inizializzata
cout<<"Inserisci stringa da analizzare: ";
while (cin>>stringa) //XXX il testo parlava di terminare la richiesta quando si incontrava la stringa vuota
{
for (n=1; n<strlen(stringa); n++)
{
strncpy (comp,stringa,n);
strncmp (stringa,comp,n); //XXX sempre vera visto che confronto le copie appena fatte
for (i=0; i<strlen(stringa); i++)
{
if (stringa[i]==comp[i+l])
continue;
else cout<<"Il periodo pi— piccolo Š "<<strlen(stringa);
} //TODO mi sembra che non abbia chiaro l'algoritmo da usare
}
cout<<"Il periodo pi— piccolo Š "<<l;
}
cout<<"\nFine.\n";
}
Se avete commenti o osservazioni su questa pagina
mandate un messaggio di posta elettronica a
bertozzi@CE.UniPR.IT