19/10/10 14:07
ciao888
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
#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;}}
aaa
19/10/10 14:11
breath
ora "d" lo stai usando come variabile non più per definire la matrice quindi togli quel
e metti
int d = 10;
e metti
int d;
aaa
19/10/10 14:14
ciao888
l'ho fatto ma non va comunque, premo a e poi il programma si stoppa, se potete provate copia e incolla su dev c++ così vedete se succede anche a voi
aaa
19/10/10 14:21
breath
c'è ancora un errore , poi dovrebbe andarti , hai messo:
non è possibile che sia int dato che le scelte sono"a" e "b" , mettilo come char
int opzione;
non è possibile che sia int dato che le scelte sono"a" e "b" , mettilo come char
aaa
19/10/10 14:49
ciao888
ho risolto, vi scrivo il programma corretto
#include <iostream> using namespace std; char r; int M[10][10]; int v[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) { char opzione = 0; do { 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 << endl << " scegli la dimensione della matrice quadrata (max 10):" <<endl; cin >> d; if (( d >= 2) && ( d<= 10)) cout << d; else cout << "errore" << endl; cout << "inserisci gli elementi della matrice :" <<endl; leggi_matrice(d, M); } break; case 'b': { cout << " questa opzione somma i valori delle colonne" << endl; somma_colonna(d, M, v); for(int i = 0; i < d; i++) { cout << v[i] << endl; } } break; } }while(opzione != 'e'); }
aaa