nuci
30-05-2005, 00:13
ciao a tutti, vorrei chiedervi una cosa.vorrei fare un programma che legga un matrice di float (per esempio 2x5)
da un file e la copi in un altro file,questo e il mio programma:
#include "stdafx.h"
#include <iostream>
#include <fstream>
using namespace std;
using namespace System;
/*********************************************
Lettura di una matrice da un file
int main()
{
// Struttura dati che contiene la matrice
struct matrice {
int R, C; // numero di righe e di colonne
float*p; // Puntatore al vettore contenente gli elementi
};
matrice A;
A.R = 2;
A.C = 5;
// Apertura del file in scrittura e sua associazione allo stream f
ifstream f ("prova.txt");
// Controllo: se lo stream non è valido, segnala errore
if ( !f ) { cout << "Errore nell'apertura del file " << "prova.txt" << endl;
}
// Lettura del numero di righe e di colonne
f >> A.R >> A.C;
// viene allocato il vettore di float
A.p = new float[A.R * A.C];
// Estrazione dal flusso dei valori da scrivere nel vettore
for ( int i = 0; i < A.R*A.C; i++ ) f >> A.p[i];
// Apertura del file in scrittura e sua associazione allo stream f
ofstream h ("prova1.txt");
// Controllo: se lo stream non è valido, segnala errore
if ( !h ) { cout << "Errore nell'apertura del file " << "prova1.txt" << endl;
}
h << A.R << ' ' << A.C << endl;
// Scrittura degli elementi contenuti nel vettore
for ( int i = 0; i < A.R*A.C; i++ ) h << A.p[i] << endl;
return(0);
}
Pero non capisco cosa non funziona del programma,perche in prova1.txt non compare la matrice di prova.txt?grazie...
da un file e la copi in un altro file,questo e il mio programma:
#include "stdafx.h"
#include <iostream>
#include <fstream>
using namespace std;
using namespace System;
/*********************************************
Lettura di una matrice da un file
int main()
{
// Struttura dati che contiene la matrice
struct matrice {
int R, C; // numero di righe e di colonne
float*p; // Puntatore al vettore contenente gli elementi
};
matrice A;
A.R = 2;
A.C = 5;
// Apertura del file in scrittura e sua associazione allo stream f
ifstream f ("prova.txt");
// Controllo: se lo stream non è valido, segnala errore
if ( !f ) { cout << "Errore nell'apertura del file " << "prova.txt" << endl;
}
// Lettura del numero di righe e di colonne
f >> A.R >> A.C;
// viene allocato il vettore di float
A.p = new float[A.R * A.C];
// Estrazione dal flusso dei valori da scrivere nel vettore
for ( int i = 0; i < A.R*A.C; i++ ) f >> A.p[i];
// Apertura del file in scrittura e sua associazione allo stream f
ofstream h ("prova1.txt");
// Controllo: se lo stream non è valido, segnala errore
if ( !h ) { cout << "Errore nell'apertura del file " << "prova1.txt" << endl;
}
h << A.R << ' ' << A.C << endl;
// Scrittura degli elementi contenuti nel vettore
for ( int i = 0; i < A.R*A.C; i++ ) h << A.p[i] << endl;
return(0);
}
Pero non capisco cosa non funziona del programma,perche in prova1.txt non compare la matrice di prova.txt?grazie...