Salve a tutti.Dovrei scrivere il seguente programma:
"Scrivere una funzione che prende in input due matrici e restituisce come output una matrice
che corrisponde alla somma delle due matrici. Usare la notazione a puntatori."
Ho scritto gia il programma,seguendo l'intestazione,quindi usando la notazione a puntatori per le matrici.Il problema è che non mi funziona in modo corretto.Di seguito posto il codice da me scritto.Spero che qualcuno possa darmi una mano a risolvere il problema.Grazie in anticipo.
main:
#include <stdio.h>
#include <stdlib.h>
void somma(int (*a)[2],int (*b)[2]);
int main()
{
int a[2][2],b[2][2],i,j;
int c[2][2];
for(i=0;i<2;i++)
for(j=0;j<2;j++){
printf("\nInserisci l'elelmento [%d][%d] della prima matrice:",i+1,j+1);
scanf("%d",&a[i][j]);
}
for(i=0;i<2;i++)
for(j=0;j<2;j++){
printf("\nInserisci l'elemento [%d][%d] della seconda matrice:",i+1,j+1);
scanf("%d",&b[i][j]);
}
somma(a,b);
for(i=0;i<2;i++)
for(j=0;j<2;j++){
printf("\nL'elemento [%d][%d] della matrice finale e':%d",i+1,j+1,c[i][j]);
}
return 0;
}
funzione:
void somma(int(*a)[2],int(*b)[2]){
int c[2][2];
int i,j;
for(i=0;i<2;i++)
for(j=0;j<2;j++){
**(c+2*i+j)=**(a+2*i+j)+**(b+2*i+j);
}
}