Ho scritto una funzione che ritorna una matrice nuova dalla somma di una matrice data con la trasposta di un'altra sempre data, però c'è qualcosa che non va perchè tornano valori errati.
Inoltre non mi fa usare la notazione per gli array bidimensionali con le due quadre A[ i ] [ j ] perche mi dà errore sulla seconda quadra e sono costretto ad usare la scrittura nel codice. Vi ringrazio in anticipo per la pazienza
int * funzione_1a_(int *A, int ai, int aj, int *B, int bi, int bj) {
if (ai == bj && aj == bi) {
int *R = (int *)malloc(sizeof(int)*ai*aj);
if (*R != NULL) {
printf("\n"); //questo per stampare i valori
for (int i = 0; i < ai; ++i) {
for (int j = 0; j < aj; ++j) {
R[i*aj + j] = A[i*aj + j] + B[j*aj + i];
printf("%d\n", R[i*aj + j]); // elaborati a ogni passaggio (per controllo)
}
}
return R;
}
}
}