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