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

di Anonimizzato26097 il
1 risposte
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

  • È uguale identico a un altro topic recentissimo, siete compagni di corso?
Devi accedere o registrarti per scrivere nel forum
1 risposte