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