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 (9.5) piccole imperfezioni
//COSTI FABIO ,143602,STUD13
//17/09/03 esame di Fondamenti di Informatica,corso di laurea in ingegneria elettronica
#include<iostream.h>
#include<string.h>
main()
{
int periodo,conta=1;
char word[81];
do {
cout<<"Inserisc la stringa da analizzare: ";
cin.getline(word,81);
int a=strlen(word);
for(periodo=1;periodo<=a;periodo++)
{
conta=1;
for(int r=periodo;r<a && !(a%periodo);r+=periodo) {
if(!strncmp(word,&word[r],periodo))
conta+=1;
}
if(conta==(a/periodo) && !(a%periodo)) {
cout<<"il periodo piu' piccolo e' pari a "<<periodo;
break;
}
}
}while(cin.getline(word,81)); //FIXME perche' chiede due volte la stringa?
//FIXME il programma non esce se si inserisce la stringa vuota
return 0;
}
Se avete commenti o osservazioni su questa pagina
mandate un messaggio di posta elettronica a
bertozzi@CE.UniPR.IT