Matrice 5X5: C

Fermé
france - 6 déc. 2007 à 18:04
mype Messages postés 2435 Date d'inscription jeudi 1 novembre 2007 Statut Membre Dernière intervention 16 août 2010 - 6 déc. 2007 à 18:22
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 jeudi 1 novembre 2007 Statut Membre Dernière intervention 16 août 2010 436
6 déc. 2007 à 18:22
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