devo scrivere una funzione in c++ che calcoli il prodotto di due matrici A e B, di questo tipo:
dove N secondo l'esercizio "e' definita come costante all'interno del codice" (e gia' inizio a non capire bene cosa vogliano...)codice:void mat_mat_prod(long A[N][N], long B[N][N], long C[N][N])![]()
io ho provato a scrivere questo programma (con una main per provare la funzione), ma dato che sono alle prime armi con c++ probabilmente ci sono degli errori grossolani, oltretutto la tale funzione funziona solo se N=3...in particolare non capisco bene come devo passare gli array multidimensionali alla funzione mat_mat_prod.
l'errore che mi restituisce il compilatore e' questo:codice:#include<iostream> using namespace std; void mat_mat_prod(long,long,long); const int N = 3; int main() { long A[3][3] = {{1,2,3},{4,5,6},{7,8,9}}; long B[3][3] = {{1,0,0},{0,1,0},{0,0,1}}; long C[3][3] = {{0,0,0},{0,0,0},{0,0,0}}; mat_mat_prod(A[3][3],B[3][3],C[3][3]); return 0; } void mat_mat_prod(long A[3][3],long B[3][3],long C[3][3]) { //prodotto tra due matrici questa parte dovrebbe essere corretta for (int i=0; i<N; i++) { for (int j=0; j<N; j++) { for (int k=0; k<N; k++) { C[i][j] += A[i][k] * B[k][j]; } } } }
cosa significa? qualcuno mi potrebbe aiutare? grazie in anticipo!codice:/tmp/cce7BE4P.o(.text+0x5d): In function `main': : undefined reference to `mat_mat_prod(long, long, long)' collect2: ld returned 1 exit status

Rispondi quotando
