Correzione prova pratica del 22 gennaio 2003

Correzione prova pratica del 3 ottobre 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  scarso
// Prova d'esame del 02/04/04

// Mauro Bocci Matr. 162294


#include <iostream>
#include <fstream>

using namespace std;


int M[200] [200];
int MM[200] [200];
int n=0;
int linea=0;
int colonna=0;
int fine=0;
//int MLPrec=0;

//int MLCorr=0;

//int MLSucc=0


int main()
{
  // apertura file "M" in lettura

  ifstream fin("lena.txt");
  // ctrl apertura file

  if (!fin)
  {
    cerr << "Errore apertura file ";
    exit(1);
  }

  // carica dati file nella matrice sorgente M    

  while (linea <=200) //FIXME il <= le causa un buffer overrun

  {
    while (colonna <=200) //FIXME il <= le causa un buffer overrun

    { //XXX in questo caso sarebbe stato piu' comprensibile usare un for: for(colonna=0;colonna<200;++colonna)

      while (fin >> n) //FIXME in questa maniera lei continua a leggere n da file, senza pero' far variare linea e colonna

      {
  M[linea][colonna]=n; 
      }
      colonna++;
    }
    linea++;
  }

  fin.close();    
} //XXX un po' poco


// Calcolo della media aritmetica delle celle adiacenti 

// a ciascun elemento della mtrice M

// (l,c) = coordinate della cella puntata

// media della somma della linea precedente MLPrec=((-l,-c)+(-l,c)+(-l,+c))/3

// media della somma della linea corrispondente MLCorr=((l,-c)+(+l,c))/2

// media della somma della linea successiva MLSucc=((+l,-c)+(+l,c)+(+l,+c))/3

/*

   linea=0;

   colonna=0;

   while (linea<=200)

   {while (colonna<=200)

   {if (linea!=0)

   {

   MLPrec=M[linea-1][colonna-1]+M[linea-1][colonna]+M[linea-1][colonna+1]

   }



   if (colonna!=0)

   {

   MLCorr=M[linea][colonna-1]+M[linea][colonna+1];

   }

   if (colonna!=0)

   {

   MLSucc=M[linea+1][colonna-1]+M[linea+1][colonna]+M[linea+1][colonna+1];

   }

   }

   }

   }

   */


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