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);
}
}