Gros probléme en c

melanie -  
mype Messages postés 2459 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

jai un problème avec la dernière parie de mon programme en c:
je dois regarder si les nombres entier par l'utilisateur est divisible par l'un des nombre du vecteur.

si c'est le cas mettre le premier nombre dans la colonne a la première place libre du tableau 7X7, qui a le même indice que le diviseur dans le vecteur!! puis on doit afficher le tableau a chaque opération et le programme doit s'arrêter quand on a compléter une colonne!!
aidez moi , SVP!!!!

merco bcp!

#include <stdio.h>
#include<stdlib.h>
#include <time.h>
#define MAX 7
#define MAXI 100

void main (void)
{
int tab[7][7];
int vec[MAX];
int nb[MAXI];
int i,j,nbr;
int limite,cpt;
printf("\n");

/* initialisation d'un tableau 7X7 avec des zero */
srand (time (NULL));
for (i=0;i<7;i++)
{
for (j=0;j<7;j++)
{
nbr = 0 ;
tab[i][j] = nbr;
printf ("%d\t", tab[i][j]);

}
printf ("\n");
}

/* initialisation vecteur 7 avec nbre aléatoire different*/

for(i=0;i<MAX;i++)
{

nbr =( rand () % 2)+ 8;
vec[i]= nbr;
printf("%d\n",vec[MAX]);

}
/* demande de nombre entre 1 et 100*/

printf("entrez la limite de nombre a introduire\n");
scanf("%d",&limite);

for(cpt=0;cpt<limite;cpt++)
{
printf("entrez la valeur %d du vecteur :", cpt+1);
scanf("%d",&nb[cpt]);
}

/* si nombre entrer est divisible par l'un des nombre du vecteur*/
Configuration: Windows XP
Firefox 2.0.0.11

1 réponse

  1. mype Messages postés 2459 Date d'inscription   Statut Membre Dernière intervention   437
     
    essaye ça:
    #include <stdio.h>
    #include<stdlib.h>
    #include <time.h>
    #define MAX 7
    #define MAXI 100
    
    void main (void)
    {
    int tab[7][7];
    int vec[MAX];
    int nb[MAXI];
    int i,j,c,l,k,ajout=0,col_no_rempli=0,nbr;
    int limite,cpt;
    printf("\n");
    
    
    /* initialisation d'un tableau 7X7 avec des zero */
    srand (time (NULL));
    for (i=0;i<7;i++)
    {
    for (j=0;j<7;j++)
    {
    nbr = 0 ;
    tab[i][j] = nbr;
    printf ("%d\t", tab[i][j]);
    
    }
    printf ("\n");
    }
    
    /* initialisation vecteur 7 avec nbre aléatoire different*/
    
    
    printf("\nvecteur\n");
    
    for(i=0;i<MAX;i++)
    {
    
    nbr =(rand () % 10)+1;
    vec[i]= nbr;
    printf("%d\n",vec[i]);
    }
    
    /* demande de nombre entre 1 et 100*/
    
    printf("entrez la limite de nombre a introduire\n");
    scanf("%d",&limite);
    
    for(cpt=0;cpt<limite;cpt++)
    {
    printf("entrez la valeur %d du vecteur :", cpt+1);
    scanf("%d",&nb[cpt]);
    
    
    
    
    
    /* si nombre entrer est divisible par l'un des nombre du vecteur*/
    
            ajout=0;
            for(j=0;j<7;j++)
            {
                if(nb[cpt]% vec[j]==0)
                {
                   for(k=0;k<7;k++)
                        if(ajout==0)
                        if(tab[k][j]==0){
                        ajout++;
                        tab[k][j]=nb[cpt];}
                }
            }
    
        for(c=0;c<7;c++)
        {
            for(l=0;l<7;l++)
            {
                printf("%d\t",tab[c][l]);
            }
            printf("\n");
        }
        
        for(j=0;j<7;j++)
        {
            col_no_rempli=0;
            for(i=0;i<7;i++)
            {
                if(tab[i][j]==0)
                col_no_rempli++;
            }
        if(col_no_rempli==0)
            exit(-1);
        }
    }
    }
    
    0