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
A voir également:
- Programme en C : repetition des resultats
- Programme demarrage windows - Guide
- Mettre en veille un programme - Guide
- Programme word gratuit - Guide
- Message programmé iphone - Guide
- Cette action ne peut pas être réalisée car le fichier est ouvert dans un autre programme - Guide
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;
}
#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;
}
Sonbole
Messages postés
13
Statut
Membre
merci bcp bcp ^^ il est completement parfait mais tu peux m'expliquer pourquoi tu as utilisé la biliothéque <windows.h> , merci <ta repense a été utile >
amateur_gadget
Messages postés
29
Date d'inscription
Statut
Membre
Dernière intervention
4
il y a pas de quoi je n'est pas utilisé la bibliothèque math.h j'ai recopier ton code au début j'ai pas vu et tu peux l'éliminer et tout fonctionnera bien :)