Correzione prova pratica del 9 luglio 2003
Correzione prova pratica del 9 luglio 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 (6) lettura file corretta, poi si perde
// KOUAYE NGAKOUE ERIC MICHEL- MATRICOLA:152953 - EMAIL :kouaye_e@yahoo.fr -posto di lavoro : STUD03
// 09-07-2003
#include<fstream.h>
#include<stdlib.h>
#include<iostream.h>
struct nodo{
char info;
nodo* succ;
};
void inserisci( nodo*&,nodo*);
void stampa (nodo*);//verifica del numero di presenza sulla riga o su la colonna
nodo *base=NULL,*ptr;
const char * file="tris1.txt"; //FIXME il testo diceva tris.txt
char mat[3][3]={ {'.','.','.'},{'.','.','.'},{'.','.','.'} };
int count=0;
int main ()
{
int n=1;
int i,j;
//char ch;
//char str;
//ofstream fout (file);
//fout<<1<<" "<<1<<endl;
//fout<<2<<" "<<1<<endl;
//fout<<2<<" "<<0<<endl;
//fout<<0<<" "<<2<<endl;
//fout<<0<<" "<<0<<endl;
//fout<<2<<" "<<2<<endl;
//fout<<1<<" "<<0<<endl;
//fout.close();
ifstream fin(file) ;
if (!fin)
{
cerr<<"non sono riuscito ad aprire il file"<<file<<endl;
exit(1);
}
while (fin>>i>>j)
{
if (n%2)
//cout << i <<" "<<j<<endl;
mat[i][j]='x';
else
mat[i][j]='o';
n++;
}
//mat [i][j]='c';
fin.close();
for( int k=0;k<=2;k++)
for(int l=0;l<=2;l++)
cout<<k<<" "<< l<< " "<< mat[k][l]<<endl;
//FIXME da qui in poi mi sembra che il codice non abbia a che fare con il testo
for( int m=0,n=0;n<=2;n++)//controllo per la prima riga
{
ptr=new nodo;
ptr->info=mat[m][n];
ptr->succ=NULL;
inserisci ( base,ptr);
}
cout<<endl;
stampa(base);
return 0;
}
void inserisci(nodo*& radice,nodo *elemento)
{
if(radice)
inserisci(radice->succ,elemento);
else
{
radice=new nodo;
radice->info=elemento->info;
radice->succ=NULL;
}
}
void stampa( nodo *radice)
{
if( radice)
{
stampa(radice->succ);
cout<< radice->info<<endl;
count ++;
//radice=radice->succ;
}
cout<< count<<endl;
}
Se avete commenti o osservazioni su questa pagina
mandate un messaggio di posta elettronica a
bertozzi@CE.UniPR.IT