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 (4) incompleto, alcuni errori, strutturato in maniera sensata
//FIXME L'algoritmo utilizzato non mi e' chiarissimo, 
//      ci sono comunque numerosi errori

 
 #include <iostream.h>
 #include <string.h>
 
 int controlla(char,char);
 
 main()
 {
 int num;
 char* dato[80]; //FIXME puntatori a char???
 char* comp[40];

//FIXME I caratteri di fine stringa?

 cout<<"Inserire una stringa senza caratteri blank(max 80 caratteri) :
 "<<endl;
 cin>> dato ;
 for(int a=0;a<strlen(dato)/2;a++) //FIXME si doveva partire da 1
     {
     comp[a] = dato[a];    //comp aumenta di una lettera ogni ciclo

// FIXME Certo, ma non e' terminata e quindi se lei utilizza le funzioni di
//       stringa rischia dei malfunzionamenti.

     if (controlla(dato,comp)) //vedo se la sottostringa si ripete per
         cout << num <<endl;
//FIXME doveva anche uscire trovato il periodo
     }
 return 0;
 }
 
 
 int controlla(char dato, char comp)

//FIXME Qua lei passa dei char, doveva passare dei char*

 {
 int num=0;
 for(int i= strlen(comp[]);i<<strlen(dato[]);i+=strlen(comp[]))//ogni
 volta si sposta nella 
     { //stringa d'ingresso tanto quanto è lunga la sottostringa

//FIXME Le righe seguenti non mi sono chiare.

>     for(int b = 0 ,b<strlen(comp[]))  //controlla che la sottostringa si

//FIXME Nei for si usa il ;

         {
         if (strcmp (dat[],comp[])) num=strlen(comp[]);
         }
     }
 return num;
 }
 
 
 
 
 
 
 
 

-- 
Massimo Bertozzi    
Dipartimento di Ingegneria dell'Informazione   Voice:      +39 0521 90 5735
Parco Area delle Scienze, 181A, Parma, ITALY   Fax:        +39 0521 90 5723
WWW: http://www.ce.unipr.it/people/bertozzi    E-mail: bertozzi@CE.UniPR.IT



Se avete commenti o osservazioni su questa pagina
mandate un messaggio di posta elettronica a bertozzi@CE.UniPR.IT