Programme en C : repetition des resultats
Sonbole
Messages postés
13
Statut
Membre
-
amateur_gadget Messages postés 29 Date d'inscription Statut Membre Dernière intervention -
amateur_gadget Messages postés 29 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Bonjour,
voici un programme en c qui saisit la dimension d'un tableau, remplit le tableau par des nombres entiers positifs puis crée deux tableau : le premier est formé de nombre paires et le deuxième est formé de nombre impaires.
le probleme c'est apres la compilation , les resultas sont répété voici une image :
https://imageshack.com/
le programme :
merci d'avance
Bonjour,
voici un programme en c qui saisit la dimension d'un tableau, remplit le tableau par des nombres entiers positifs puis crée deux tableau : le premier est formé de nombre paires et le deuxième est formé de nombre impaires.
le probleme c'est apres la compilation , les resultas sont répété voici une image :
https://imageshack.com/
le programme :
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
int main(int argc, char *argv[])
{
int t[100],a[100],b[100],i,j,nbr1=0,nbr2=0,k,n;
printf("saasir n :");
scanf("%d",&n);
for(i=1;i<=n;i++)
{ printf("t[%d] :",i);
scanf("%d",&t[i]);
if (t[i]%2==0)
nbr1=nbr1+t[i];
else
nbr2=nbr2+t[i];
}
//boucle dt traitement
for(i=1;i<=n;i++)
{ for(j=1;j<=nbr1;j++)
{
if (t[i]%2==0)
{ a[j]=t[i];
printf("le table %d\n",a[j]);
}}}
for(i=1;i<=n;i++)
{
for(k=1;k<=nbr2;k++)
{ if (t[i]%2==1)
{
b[k]=t[i];
printf(" IMPAIRE %d\n",b[k]);
}}}
system(" pause ");
return 0;
}
merci d'avance
2 réponses
-
Voiçi la correction de ton code :
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
int main(int argc, char *argv[])
{
int t[100],i,j=1,nbr1=0,nbr2=0,n;
printf("saisir n :");
scanf("%d",&n);
for(i=1;i<=n;i++)
{ printf("t[%d] :",i);
scanf("%d",&t[i]);
if (t[i]%2==0)
nbr1=nbr1+1;
else
nbr2=nbr2+1;
}
int a[nbr1],b[nbr2]; // sinon c'est quoi l'intérêt de savoir la taille du tableau
//boucle de traitement
j=1;
for(i=1;i<=n;i++)
{
if (t[i]%2==0)
{ a[j]=t[i];
j++; // ici tu incrémente l'indice de ton tableau
}}
j=1; // initialisé ton indice de nouveau
for(i=1;i<=n;i++)
{
if (t[i]%2==1)
{
b[j]=t[i];
j++;
}
}
// affichage
for (j=1;j<=nbr1;j++)
printf("PAIRE[%d] = %d\n",j,a[j]);
for (j=1;j<=nbr2;j++)
printf("IMPAIRE[%d] = %d\n",j,b[j]);
system(" pause ");
return 0;
} -
On ne sait pas ce que tu veux faire, mais vu ton code c'est normal que ça se répète.
Aligne mieux tes accolades tu y verras peut-être plus clair...