Errore nella stampa di valori di una matrice (linguaggio C)

di il
1 risposte

Errore nella stampa di valori di una matrice (linguaggio C)

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

1 Risposte

Devi accedere o registrarti per scrivere nel forum
1 risposte