Ben je programme depuis quelques années maintenant, alors... j'ai acquis un peu d'expérience...
Sinon, pour info, nos 2 codes sont radicalement différents. Je fais 3 boucles imbriquées, alors que tu n'en fais que 2...
En pratique, tu as calculé la somme de 2 matrices, alors que j'en ai fait le produit. Et puis les tableaux à 2 dimensions, ça existe... et c'est plus clair. J'ai réécrit ta fonction pour te montrer :
void somme(Matrice a, Matrice b, Matrice resultat, int nb_lig, int nb_col)
{
int i, j;
for (i = 0; i < nb_lig; i++) {
for (j = 0; j < nb_col; j++) {
resultat[ i][j] = a[ i][j] + b[ i][j];
}
}
}
N'est-ce point un tantinet plus clair ?
Et puis attention, tu as 2 bugs dans ta fonction. Les 2 tests de fin de boucle vont provoquer une erreur mémoire, car tu vas faire une itération de trop à chaque fois et déborder de ton tableau. Il faut remplacer tes '<=' par des '<'.
Voilà.