Matrice 5X5: C

france -  
mype Messages postés 2435 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
mon programme doit alimenter un tableau 5X5 avec des entiers aléatoires entre 11 et 52. puis affiche la somme de chaque ligne et de chaque colonne mais il ne marche pas.
peut-on me dire ce qui ne vas pas?
merci
#include <stdio.h>
#include<stdlib.h>
#include <time.h>

void main (void)
{
int tab[4][5];
int i,j,nbr;
int somme_ligne=0,somme_colonne=0;
int cpt;

/* initialisation d'un tableau 4X5 compris entre 11 et 52*/
srand (time (NULL));
for (i=0;i<4;i++)
{
for (j=0;j<5;j++)
{


nbr = rand () % 11+ 1 ;
tab[i][j] = nbr;
printf ("%d\t", tab[i][j]);


}
printf ("\n");

}

/* addition de chaque ligne */
for (i=0;i<4;i++)
{
for (j=0;j<5;j++)
{

somme_ligne=somme_ligne + tab[i][j];

}
for(cpt=0;cpt<4;cpt++)
{
printf("la somme de la %d e ligne est de %d\t", cpt+1,somme_ligne);

}

}


/* addition de chaque colonne */

for (i=0;i<4;i++)
{
for(j=0;j<5;j++)
{
somme_colonne=somme_colonne + tab[i][j];

}
for (cpt=0;cpt<5;cpt++)
{
printf(" la somme de la %d e colonne est de %d\t", cpt+1,somme_colonne);
}

}






}

1 réponse

mype Messages postés 2435 Date d'inscription   Statut Membre Dernière intervention   437
 
deja c'est une matrice 5X5 donc faut un tab[5][5]
ensuite ta fonction pour les nombre aleatoire n'est pas bonne ce serait plutot ça (rand()%41)+11
voila essay ça:
#include <stdio.h>
#include<stdlib.h>
#include <time.h>

void main (void)
{
int tab[5][5];
int i,j,nbr;
int somme_ligne=0,somme_colonne=0;


/* initialisation d'un tableau 4X5 compris entre 11 et 52*/
srand (time (NULL));
for (i=0;i<5;i++)
{
    for (j=0;j<5;j++)
    {
        nbr =( rand () % 42)+ 11 ;
        tab[i][j] = nbr;
        printf ("%d\t", tab[i][j]);
    }
printf ("\n");
}

/* addition de chaque ligne */
for (i=0;i<5;i++)
{
    for (j=0;j<5;j++)
    {
        somme_ligne=somme_ligne + tab[i][j];
    }
printf("la somme de la ligne %d est de %d\n", i+1,somme_ligne);
somme_ligne=0;
}


/* addition de chaque colonne */

for (j=0;j<5;j++)
{
    for(i=0;i<5;i++)
    {
        somme_colonne=somme_colonne + tab[i][j];
    }
printf("la somme de la colonne %d est de %d\n", j+1,somme_colonne);
somme_colonne=0;
}
}
1