21/10/12 13:23
tullio1995
#include <stdio.h> int main() { int rpm,cpm,rsm,csm; printf("Inserisci le righe della prima matrice\n"); scanf("%d",&rpm); printf("Inserisci le colonne della prima matrice\n"); scanf("%d",&cpm); printf("Inserisci le righe della secondamatrice\n"); scanf("%d",&rsm); printf("Inserisci le colonne della seconda matrice\n"); scanf("%d",&csm); if (cpm!=rsm){ printf("Il prodotto non si può fare!\n"); } else{ double pm[rpm][cpm],sm[rsm][csm]; int i,j; for (i=0;i<rpm;i++){ //carica prima matrice for(j=0;j<cpm;j++){ printf("(Prima matrice)Inserisci il valore della pos. %d,%d ",i+1,j+1); scanf("%lf",&pm[i][j]); } //next i } //next j for (i=0;i<rsm;i++){ //carica seconda matrice for(j=0;j<csm;j++){ printf("(Seconda matrice)Inserisci il valore della pos. %d,%d ",i+1,j+1); scanf("%lf",&sm[i][j]); } //next i } //next j double mr[rpm][csm],mp[cpm],p; int x,c; x=0; for (i=0;i<rpm;i++){ p=0; for (j=0;j<csm;i++){ mp[j]=pm[i][j]*sm[j][i]; } for (c=0;i<cpm;c++){ p=p+mp[c]; } mr[i][x]=p; x++; } for (i=0;i<rpm;i++){ for(j=0;j<csm;j++){ printf("%lf ",mr[i][j]); } printf("\n"); } } //else return 0; }
questo codice "dovrebbe" calcolare il prodotto di due matrici, ma dopo la carica delle matrici, il programma esce con l'errore di segmention fault. come risolverlo?
aaa