Ciao!
Ho scritto il seguente codice per leggere dei numeri passati da file, utilizzando funzione pos per trasformare array multidimensionali in array monodimensionali; purtroppo in output t [i,j] non mi restituisce i valori inseriti ma solo l'ultima riga dell'array, del tipo:
input (t(i,j)): 1 2 3 output: 7 8 9
4 5 6 7 8 9
7 8 9 7 8 9
Ho provato a rianalizzare il codice ma non riesco a vedere l'errore..magari č una cavolata. Grazie per l'aiuto!![]()
#include <iostream.h>
#include <fstream.h>
#include <stdlib.h>
#include <conio.h>
int m;
int nServer;
int pos(int iii)
{ return (iii-1);}
int pos(int iii, int jjj)
{ m=(iii-1)*nServer+(jjj-1);
return(m);}
int main()
{
int nClient, nServer, dim;
int i, j, k;
fstream input;
input.open("dati.txt", ios::in);
input>>nClient>>nServer;
dim=nClient*nServer;
int * h= new int[nServer];
int * t= new int[dim];
for(j=1;j<=nServer;j++) &nbs p;
input>>h[pos(i)];
for(i=1; i<=nClient; i++)
{
for(j=1; j<=nServer; j++)
input>>t[pos(i,j)];
}
input.close();
ofstream output;
output.open("dati acquisiti.txt", ios:ut);
output<<"Numero clienti:"<<nClient<<endl;
output<<"Numero serventi:"<<nServer<<endl;
for(j=1;j<=nServer;j++)
output<<"h["<<j<<"]="<<h[pos(j)]<<" ";
for(i=1;i<=nClient;i++)
{
output<<"\n";
for(j=1;j<=nServer;j++)
output<<"t["<<i<<","<<j<<"]="<<t[pos(i,j)]<<" ";
}
output.close();
return 0;
}