Salve gente, non ho capito bene se bisogna presentarsi e se si dove, ma comunque questo sito è fantastico!
Sono entrato da poco nel mondo della programmazione e vorrei delle dritte per alcune cose. Vorrei creare un programma che mi ricavi il determinante di una matrice. La formula da utilizzare è la seguente
quindi è uno sviluppo progressivo. Il determinante di una matrice 1x1 è l'elemento stesso e per la matrice 2x2 si ha una formula banale (credo anche per una matrice 3x3). Conoscendo questo, io ho pensato di utilizzare (e mi sembra l'unico metodo in questo momento) i cicli for, perché comunque è una sommatoria.
Ora sono riuscito a creare insieme ad una mia amica un programma che mi permetta di decidere il numero di righe e colonne e scrivere i vari singoli elementi all'interno. Il programma è questo:
Ora il primo passo che vorrei fare è quello di fargli salvare la matrice da me data. Non riesco a capire come fare, perché sono solo dei singoli elementi, non riesco proprio a capire come possa fargliela passare per matrice, a fargli capire che non sono semplici numeri, ma elementi di qualcosa.codice:#include <stdio.h> #define MAX_ROW 10 #define MAX_COL 10 int main() { int r=0,c=0; int m[MAX_ROW][MAX_COL]; int i,j; do{ printf("il numero di righe e': "); scanf("%d",&r); if (r>MAX_ROW){ printf("il numero di righe deve essere minore di 10\n"); } } while(r>MAX_ROW); do{ printf("il numero di colonne e': "); scanf("%d",&c); if(c>MAX_COL){ printf("il numero di colonne deve essere minore di 10\n"); } } while(c>MAX_COL); for(i=0;i<r;i++){ for(j=0;j<c;j++){ printf("L'elemento [%d,%d] e' ",i+1,j+1); scanf("%d", &m[i][j]); printf("\n"); } } printf("La matrice %dx%d e':\n",r,c); for(i=0;i<r;i++){ for(j=0;j<c;j++){ printf("%5d",m[i][j]); } printf("\n"); } if(r==c){ printf("La trasposta e':\n"); for(i=0;i<r;i++){ for(j=0;j<c;j++){ printf("%4d",m[j][i]); } printf("\n"); } } else{ printf("La matrice non e' quadrata, non posso fare la trasposta!\n"); } return 0; }
Grazie


Rispondi quotando
. 