ciao888 (Normal User)
Pro
Messaggi: 69
Iscritto: 14/10/2010
|
Il programma che ho scritto presenta un menų che ho costruito attraverso cout, poi ci sono 2 casi: a e b,nel caso a costruisco una matrice quadrata che abbia una dimensione di massimo 10 righe e 10 colonne e poi inserisco i valori di ogni elemento della matrice, nel caso b devo sommare i valori di ogni colonna della matrice.Ci saranno sicuramente degli errori ma č tipo la seconda volta che scrivo un programma con array, avevo giā posto questa domanda pių volte ma mi č stata cancellata, penso perchč lo scopo del programma non era comprensibile, spero adesso di essere stata esaustiva
Codice sorgente - presumibilmente C++ |
#include <cstdlib> #include <iostream> using namespace std; void Somma(int M[], int d ); int d; int M[d][d]; //matrice quadrata, d č la sua dimensione(max10) int riga, col; int caso; int main (void){ int opzione; cout << "MENU'" << endl;//costruisco il menų del mio programma cout << " Scegliere una lettera corrispondente all'operazione da svolgere :" << endl; cout <<"a) costruisci la matrice quadrata" << endl; cout<< "b) calcola la somma di ogni colonna della matrice :" << endl; cin >> opzione; caso=a //costruisce una matrice quadrata e scelgo la sua dimens.(max10) cout << " scegli la dimensione della matrice quadrata (max 10):"; cin >> d; if (( d >= 2) && ( d<= 10)) cout << d; else cout << "errore" << endl; cout << "inserisci gli elementi della matrice :"; for ( riga=0; riga <= d; riga++){ for ( col = 0; col <= d; col++){ cin >> M [riga] [col];}} break;}} void Somma(int M[], int d)// somma i valori di tutte le colonne della matrice { caso = b; int somma = 0; for ( col = 0; col <= d ; col++){ for ( riga = 0; col <= d; riga++){ somma += M [d][d];}} return somma; } cout << somma << endl;}
|
Ultima modifica effettuata da ciao888 il 19/10/2010 alle 14:35 |
|
()
Newbie
Messaggi:
Iscritto:
|
qual č l'errore?
|
|
HeDo (Founder Member)
Guru^2
Messaggi: 2765
Iscritto: 21/09/2007
|
a parte la formattazione assolutamente improponibile, non ti chiedi il motivo per cui il moderatore sia dovuto intervenire PESANTEMENTE per limitare il tuo spam?
hai aperto 7 thread in un paio d'ore o pure meno, assolutamente senza ne capo ne coda.
essere alle prime armi non giustifica la pessima netiquette.
cmq il primo errore lampante che mi salta all'occhio č quel
int M[d][d]
non puoi dichiarare un array statico con indici variabili, puoi farlo solo e solo se d č una costante (o #define).
|
|
ciao888 (Normal User)
Pro
Messaggi: 69
Iscritto: 14/10/2010
|
Ne ho aperti pių di uno perchč mi ero sbagliata, non sapevo come si modificava la domanda, adesso l'ho capito, sė infatti M[d][d] sicuramente non va, č che non so come porlo visto che d deve essere scelto e va da 2 a 10, poi un'altra cosa che non va č la somma, non so come scriverla
|
|
ciao888 (Normal User)
Pro
Messaggi: 69
Iscritto: 14/10/2010
|
comunque adesso ho corretto il programma in questo modo, dovrebbe essere corretto ma Dev C++ mi dā errore sulla riga somma_colonna
Codice sorgente - presumibilmente C++ |
#include <iostream> using namespace std; char r; int M[10][10]; int vet[10][10]; int d; void leggi_matrice(int d, int M[][10]){ cout<<" inserisci i valori della matrice"; for ( int i = 0; i <= d; i++){ for (int j = 0; j <= d; j++){ cout << "M["<< i <<"]["<< j <<"]="; cin >> M [i] [j];}}} void somma_colonna(int d, int M[][10], int v[]){ int somma = 0; for ( int i = 0; i <= d ; i++){ for ( int j = 0; j <= d; j++){ somma += M [j][i]; v[i] = somma; somma = 0;}}} int main(void) { int opzione; cout << "MENU'" << endl; cout << " Scegliere una lettera corrispondente all'operazione da svolgere :" << endl; cout <<"a) costruisci la matrice quadrata" << endl; cout<< "b) calcola la somma di ogni colonna della matrice :" << endl; cin >> opzione; switch(opzione) { case 'a': cout << " scegli la dimensione della matrice quadrata (max 10):"; cin >> d; if (( d >= 2) && ( d<= 10)) cout << d; else cout << "errore" << endl; cout << "inserisci gli elementi della matrice :"; leggi_matrice(d, M); break; case 'b': cout << " questa opzione somma i valori delle colonne"; somma_colonna(d, M, v); break;}}
|
|
|
ciao888 (Normal User)
Pro
Messaggi: 69
Iscritto: 14/10/2010
|
esatto, non so dove sbattere la testa, poi io parto proprio da zero, l'ho corretto cosė:
Codice sorgente - presumibilmente C++ |
#include <iostream> using namespace std; char r; int M[10][10]; int v[10][10]; int d == 10; int a; int b; void leggi_matrice(int d, int M[][10]){ cout<<" inserisci i valori della matrice"; for ( int i = 0; i <= d; i++){ for (int j = 0; j <= d; j++){ cout << "M["<< i <<"]["<< j <<"]="; cin >> M [i] [j];}}} void somma_colonna(int d, int M[][10]){ int somma = 0; for ( int i = 0; i <= d ; i++){ for ( int j = 0; j <= d; j++){ somma += M [j][i]; v[i] = somma; somma = 0;}}} int main(void) { int opzione; cout << "MENU'" << endl; cout << " Scegliere una lettera corrispondente all'operazione da svolgere :" << endl; cout <<"a) costruisci la matrice quadrata" << endl; cout<< "b) calcola la somma di ogni colonna della matrice :" << endl; cin >> opzione; switch(opzione) { case 'a': cout << " scegli la dimensione della matrice quadrata (max 10):"; cin >> d; if (( d >= 2) && ( d<= 10)) cout << d; else cout << "errore" << endl; cout << "inserisci gli elementi della matrice :"; leggi_matrice(d, M); break; case 'b': cout << " questa opzione somma i valori delle colonne"; somma_colonna(d, M); break;}}
|
se potete ditemi dove sono gli errori cosė userō questo programma come esempio per gli altri che farō
|
|
breath (Normal User)
Newbie
Messaggi: 9
Iscritto: 06/02/2009
|
mi scrivi che errori da il compilatore o dove ?
|
|
Ultimo (Member)
Guru
Messaggi: 877
Iscritto: 22/05/2010
|
int d == 10; No
int d = 10; Si
If ok Then GOTO Avanza else GOTO Inizia
|
|
ciao888 (Normal User)
Pro
Messaggi: 69
Iscritto: 14/10/2010
|
l'ho corretto cosė, non mi dā errore adesso, ma si apre col menų e poi quando premo a per costruire la matrice si chiude il programma
Codice sorgente - presumibilmente C++ |
#include <iostream> using namespace std; char r; int M[10][10]; int v[10]; int d = 10; int a; int b; void leggi_matrice(int d, int M[][10]){ cout<<" inserisci i valori della matrice"; for ( int i = 0; i <= d; i++){ for (int j = 0; j <= d; j++){ cout << "M["<< i <<"]["<< j <<"]="; cin >> M [i] [j];}}} void somma_colonna(int d, int M[][10]){ int somma = 0; for ( int i = 0; i <= d ; i++){ for ( int j = 0; j <= d; j++){ somma += M [j][i]; v[i] = somma; somma = 0;}}} int main(void) { int opzione; cout << "MENU'" << endl; cout << " Scegliere una lettera corrispondente all'operazione da svolgere :" << endl; cout <<"a) costruisci la matrice quadrata" << endl; cout<< "b) calcola la somma di ogni colonna della matrice :" << endl; cin >> opzione; switch(opzione) { case 'a': cout << " scegli la dimensione della matrice quadrata (max 10):"; cin >> d; if (( d >= 2) && ( d<= 10)) cout << d; else cout << "errore" << endl; cout << "inserisci gli elementi della matrice :"; leggi_matrice(d, M); break; case 'b': cout << " questa opzione somma i valori delle colonne"; somma_colonna(d, M); break;}}
|
|
|