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: 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