mama86 (Normal User)
Newbie
Messaggi: 5
Iscritto: 14/10/2009
|
ciao a tutti...ho un problema...devo scrivere un programma che generi con valori decimali pseudo-casuali una matrice tridimensionale di dimensione n*m*k e poi devo stampare la matrice...a due dimensioni riesco a farlo,ma a tre no..qualcuno mi può aiutare?grazie...
|
|
TheKaneB (Member)
Guru^2
Messaggi: 1792
Iscritto: 26/06/2009
|
potresti usare una soluzione del genere
Codice sorgente - presumibilmente C++ |
// Dimensioni a piacere const int MAX_X = 3; const int MAX_Y = 4; const int MAX_Z = 8; float matrice[MAX_X][MAX_Y][MAX_Z]; int i,j,k; void riempiMatrice() { for (i=0; i<MAX_X; i++) for (j=0; j<MAX_Y; j++) for (k=0; k<MAX_Z; k++) { matrice[i][j][k] = rand() * 1.0f; } } void stampaMatrice() { for (k=0; k<MAX_Z; k++) { cout << endl; << "--- z = " << k << endl; for (j=0; j<MAX_Y; j++) { for (i=0; i<MAX_X; i++) { cout << matrice[i][j][k] << " "; } cout << endl; } } }
|
non sarà il massimo dell'eleganza, ma funziona
ciao!
|
|
theprogrammer (Normal User)
Guru^2
Messaggi: 2509
Iscritto: 28/01/2009
|
Postato originariamente da mama86:
ciao a tutti...ho un problema...devo scrivere un programma che generi con valori decimali pseudo-casuali una matrice tridimensionale di dimensione n*m*k e poi devo stampare la matrice...a due dimensioni riesco a farlo,ma a tre no..qualcuno mi può aiutare?grazie... |
In realta', tra due e tre dimensioni, non ci sono tante variazioni nel codice ...
|
|
mama86 (Normal User)
Newbie
Messaggi: 5
Iscritto: 14/10/2009
|
ora provo con questo programma che mi hai detto però devo modificare alcune cosette...
|
|
mama86 (Normal User)
Newbie
Messaggi: 5
Iscritto: 14/10/2009
|
Postato originariamente da TheKaneB:
potresti usare una soluzione del genere
Codice sorgente - presumibilmente C++ |
// Dimensioni a piacere const int MAX_X = 3; const int MAX_Y = 4; const int MAX_Z = 8; float matrice[MAX_X][MAX_Y][MAX_Z]; int i,j,k; void riempiMatrice() { for (i=0; i<MAX_X; i++) for (j=0; j<MAX_Y; j++) for (k=0; k<MAX_Z; k++) { matrice[i][j][k] = rand() * 1.0f; } } void stampaMatrice() { for (k=0; k<MAX_Z; k++) { cout << endl; << "--- z = " << k << endl; for (j=0; j<MAX_Y; j++) { for (i=0; i<MAX_X; i++) { cout << matrice[i][j][k] << " "; } cout << endl; } } }
|
non sarà il massimo dell'eleganza, ma funziona
ciao! |
controllando questo con il mio,praticamente quello ke nn riesco a fare è la stampa...però devo usare printf e non cout...grazie... |
|
theprogrammer (Normal User)
Guru^2
Messaggi: 2509
Iscritto: 28/01/2009
|
controllando questo con il mio,praticamente quello ke nn riesco a fare è la stampa...però devo usare printf e non cout...grazie... |
Scusa ... usa la printf ... qual e' il problema ?
Non sai usare la printf in generale o solo con questo programma ?
Come la usavi con le matrici a 2 dimensioni ?
Ultima modifica effettuata da theprogrammer il 14/10/2009 alle 13:57 |
|
TheKaneB (Member)
Guru^2
Messaggi: 1792
Iscritto: 26/06/2009
|
beh, hai postato nella sezione C++, quindi mi pareva ovvio che volessi usare gli stream.
per la printf basta fare:
Codice sorgente - presumibilmente Plain Text |
//...
printf("%f ", matrice[i][j][k]);
//...
|
comunque usa il mio codice solo come punto di riferimento, è chiaramente un esempio scritto per l'occasione, non un pezzo di codice preso da un programma funzionante!
|
|
mama86 (Normal User)
Newbie
Messaggi: 5
Iscritto: 14/10/2009
|
Postato originariamente da TheKaneB:
beh, hai postato nella sezione C++, quindi mi pareva ovvio che volessi usare gli stream.
per la printf basta fare:
Codice sorgente - presumibilmente Plain Text |
//...
printf("%f ", matrice[i][j][k]);
//...
|
comunque usa il mio codice solo come punto di riferimento, è chiaramente un esempio scritto per l'occasione, non un pezzo di codice preso da un programma funzionante! |
io sò usare la printf però non riesco a trasformare questo:
cout << endl; << "--- z = " << k << endl;
|
|
giuseppe93 (Ex-Member)
Pro
Messaggi: 166
Iscritto: 02/08/2009
|
io sò usare la printf però non riesco a trasformare questo:
cout << endl; << "--- z = " << k << endl;
|
e qual è il problema??
printf("\n--- z=%d",k); |
|