|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Jan 2005
Città: NAPOLI
Messaggi: 648
|
Problema prodotto righe x colonne di 2 matrici memorizzate in modo dinamico
ragazzi devo fare il prodotto righe per colonne di 2 matrici memorizzate in modo dinamico, ma incontro un problema quando vado a fare proprio il rpodotto, cioè nell'istruzione:
*(c+i*r+j)=*(c+i*r+j)+ *a(a+i*n+k) * *b(b+k*r+j); mi dice che a e b non sono funzioni , dove ho sbagliato.... questo è il codice del programma: #include <stdio.h> #include <stdlib.h> int *crea_matrice(int riga, int colonna); void main() { int *a,*b,*c; int n,m,q,r,i,j,k; printf("scrivere valore riga di a: "); scanf ("%d",&n); printf("\nscrivere valore colonna di a: "); scanf ("%d",&m); printf("\nscrivere valore riga di b: "); scanf ("%d",&q); printf("\nscrivere valore colonna di b: "); scanf ("%d",&r); a=malloc(n*m*sizeof(int)); b=malloc(q*r*sizeof(int)); c=malloc(n*r*sizeof(int)); if(m==q) { for(i=0;i<n;i++) for(j=0;j<m;j++) *(a+i*m+j)=rand()%100/RAND_MAX; for(i=0;i<n;i++) for(j=0;j<m;j++) *(b+i*m+j)=rand()%100/RAND_MAX; a=crea_matrice(n,m); b=crea_matrice(q,r); for (i=0;i<n;i++) for (j=0;j<r;j++) { *(c+i*r+j)=0; for(k=0;k<q;k++) *(c+i*r+j)=*(c+i*r+j)+ *a(a+i*n+k) * *b(b+k*r+j); } printf("la matrice prodotto e'\n"); for (i=0;i<n;i++) { for (j=0;j<r;j++) { printf("%d ",*(c+i*r+j)); } printf("\n"); } } else printf("ERRORE"); }
__________________
O'Napule dint'o'core.......... -MacBook 2,26 GHz Intel Core 2 Duo - 4 GB DDR3 -IPhone 3GS 16 GB -Ipad wifi+3g 64gb |
![]() |
![]() |
![]() |
#2 | |
Senior Member
Iscritto dal: Jan 2005
Città: NAPOLI
Messaggi: 648
|
Quote:
__________________
O'Napule dint'o'core.......... -MacBook 2,26 GHz Intel Core 2 Duo - 4 GB DDR3 -IPhone 3GS 16 GB -Ipad wifi+3g 64gb |
|
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Jul 2006
Città: Tristram
Messaggi: 517
|
Beh, ha ragione il compilatore: a(qualcosa) è una chiamata a funzione. Forse volevi scrivere *(a+i*n+k)
__________________
Il sole è giallo |
![]() |
![]() |
![]() |
#4 | |
Senior Member
Iscritto dal: Jan 2005
Città: NAPOLI
Messaggi: 648
|
Quote:
![]() ![]()
__________________
O'Napule dint'o'core.......... -MacBook 2,26 GHz Intel Core 2 Duo - 4 GB DDR3 -IPhone 3GS 16 GB -Ipad wifi+3g 64gb |
|
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Cerca di dare nomi un po' più esplicativi alle variabili. Errori come questo sono dovuti proprio ai nomi anonimi che gli hai dato
![]() |
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Jan 2005
Città: NAPOLI
Messaggi: 648
|
ti spiego....il tutto è successo perkè ho modificato un programma ke avevo in paertenza...capisci...mi scocciavo di cambiare tutto...cmq dai...tt bene tnx
__________________
O'Napule dint'o'core.......... -MacBook 2,26 GHz Intel Core 2 Duo - 4 GB DDR3 -IPhone 3GS 16 GB -Ipad wifi+3g 64gb |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 13:12.