Programme en C : repetition des resultats
Sonbole
Messages postés
10
Date d'inscription
Statut
Membre
Dernière intervention
-
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
- Message programmé iphone - Guide
- Programme word gratuit - 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
10
Date d'inscription
Statut
Membre
Dernière intervention
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 :)