Help pour un petit programme en C svp
Lefty09
Messages postés
7
Date d'inscription
Statut
Membre
Dernière intervention
-
mype Messages postés 2435 Date d'inscription Statut Membre Dernière intervention -
mype Messages postés 2435 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je dois faire un programme pour l'école qui doit trier une série de nombres selon 3méthodes différentes, il faut donc d'abord entrer la série de nombre et ensuite choisir la méthode de tri, ce programme doit également s'arrêter lors de l'ajout d'un nombre négatif. Voici mon problème, je bloque déjà au début pour sortir de ma boucle :/
Voici le début du code
main()
{
n=1;
system("cls");
printf("bienvenue dans le programme de tri de nombres\n\n");
printf("entrer le %d er nombre\n",n++);
scanf("%d",&tab[i]);
for (i=1;i<=100;i++)
{
printf("Entrer le %d eme nombre \n",n++);
scanf("%d",&tab[i]);
printf("Entrer un autre nombre? \n");
printf("1 - oui\n",choix2);
printf("0 - non\n",choix2);
}while (choix2=0);
printf("Que voulez-vous faire?\n");
printf("1 - Tri par selection\n");
printf("2 - Tri a bulle\n");
printf("3 - Tri par insertion\n");
printf("4 - Sortir\n");
Que dois-je modifier pour sortir de ma boucle lorsque je tape "0" ? Et qu'il continue tant que je tape "1"??
Merci d'avance!!
Je dois faire un programme pour l'école qui doit trier une série de nombres selon 3méthodes différentes, il faut donc d'abord entrer la série de nombre et ensuite choisir la méthode de tri, ce programme doit également s'arrêter lors de l'ajout d'un nombre négatif. Voici mon problème, je bloque déjà au début pour sortir de ma boucle :/
Voici le début du code
main()
{
n=1;
system("cls");
printf("bienvenue dans le programme de tri de nombres\n\n");
printf("entrer le %d er nombre\n",n++);
scanf("%d",&tab[i]);
for (i=1;i<=100;i++)
{
printf("Entrer le %d eme nombre \n",n++);
scanf("%d",&tab[i]);
printf("Entrer un autre nombre? \n");
printf("1 - oui\n",choix2);
printf("0 - non\n",choix2);
}while (choix2=0);
printf("Que voulez-vous faire?\n");
printf("1 - Tri par selection\n");
printf("2 - Tri a bulle\n");
printf("3 - Tri par insertion\n");
printf("4 - Sortir\n");
Que dois-je modifier pour sortir de ma boucle lorsque je tape "0" ? Et qu'il continue tant que je tape "1"??
Merci d'avance!!
A voir également:
- Help pour un petit programme en C svp
- Mettre en veille un programme - Guide
- Programme demarrage windows - Guide
- Petit 2 ✓ - Forum Bureautique
- Forcer la fermeture d'un programme - Guide
- Comment imprimer une photo en petit - Forum Photo numérique
8 réponses
deja normalment on n'utilise pas de for et while ensemble tu pourrais faire plutot une boucle do...while ensuite dans ton while si tu veut tester la valeur de choix2 il faut l'operateur ==pas un simple =
i=2; do { printf("Entrer le %d eme nombre \n",n++); scanf("%d",&tab[i]); i++; printf("Entrer un autre nombre? \n"); printf("1 - oui\n"); printf("0 - non\n"); scanf("%d",&choix2) }while (choix2!=0 && i<=100);
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Merci maintenant ça fonctionne^^ mais il ne m'affiche toujours pas le choix entre les 3 méthodes de tri à la sortie de ma boucle :/ Je suis débutant en langage C, c'est mon 2ème programme donc...
do
{
printf("Entrer le %d eme nombre \n",n++);
scanf("%d",&tab[i]);
i++;
printf("Entrer un autre nombre? \n");
printf("1 - oui\n");
printf("0 - non\n");
scanf("%d",&choix2);
}while (choix2==1 && i<=100);
printf("Que voulez-vous faire?\n");
printf("1 - Tri par selection\n");
printf("2 - Tri a bulle\n");
printf("3 - Tri par insertion\n");
printf("4 - Sortir\n\n\n");
scanf("%d",&choix);
switch (choix)
case '1':
printf("Tri par selection");
for (i=1;i<=n-1;i++)
min=i;
for (k=i+1;k=n;k++)
{
if (tab[k]<tab[min])
{
min=k;
}
}
temp=tab[i];
tab[i]=tab[min];
tab[min]=temp;
getchar();
}
{
printf("Entrer le %d eme nombre \n",n++);
scanf("%d",&tab[i]);
i++;
printf("Entrer un autre nombre? \n");
printf("1 - oui\n");
printf("0 - non\n");
scanf("%d",&choix2);
}while (choix2==1 && i<=100);
printf("Que voulez-vous faire?\n");
printf("1 - Tri par selection\n");
printf("2 - Tri a bulle\n");
printf("3 - Tri par insertion\n");
printf("4 - Sortir\n\n\n");
scanf("%d",&choix);
switch (choix)
case '1':
printf("Tri par selection");
for (i=1;i<=n-1;i++)
min=i;
for (k=i+1;k=n;k++)
{
if (tab[k]<tab[min])
{
min=k;
}
}
temp=tab[i];
tab[i]=tab[min];
tab[min]=temp;
getchar();
}
rajoute des accolades
switch (choix){ case '1':{ printf("Tri par selection"); for (i=1;i<=n-1;i++) min=i; for (k=i+1;k=n;k++) { if (tab[k]<tab[min]) { min=k; } } temp=tab[i]; tab[i]=tab[min]; tab[min]=temp; getchar(); } }
Désolé mais...ca ne fonctionne toujours pas je ne vois pas ce qui cloche, j'ai beau chercher mais... :/
/*Programme de tri de nombres*/
#include <stdio.h>
#include <stdlib.h>
int choix;
int choix2;
int i,n,min,k,nombre;
int tab[100];
int temp;
int permut;
int a,b,c,tmp; /*variables du tri a bulle*/
main()
{
nombre=1;
system("cls");
printf("bienvenue dans le programme de tri de nombres\n\n");
printf("entrer le %d er nombre\n",nombre++);
scanf("%d",&tab[i]);
if (tab[i]<<0)
{
printf("Entrez des nombres positifs!!\n");
nombre=nombre-1;
}
do
{
printf("Entrer le %d eme nombre \n",nombre++);
scanf("%d",&tab[i]);
i++;
printf("Entrer un autre nombre? \n");
printf("1 - oui\n");
printf("0 - non\n");
scanf("%d",&choix2);
}while (choix2==1 && i<=100 && i<<0 );
printf("Que voulez-vous faire?\n");
printf("1 - Tri par selection\n");
printf("2 - Tri a bulle\n");
printf("3 - Tri par insertion\n");
printf("4 - Sortir\n\n\n");
scanf("%d",&choix);
switch (choix)
{
case '1':
{
printf("Tri par selection");
for (i=1;i<=n-1;i++)
{
min=i;
for (k=i+1;k=n;k++)
if (tab[k]<tab[min])
{
min=k;
}
}
temp=tab[i];
tab[i]=tab[min];
tab[min]=temp;
}
}
}
/*Programme de tri de nombres*/
#include <stdio.h>
#include <stdlib.h>
int choix;
int choix2;
int i,n,min,k,nombre;
int tab[100];
int temp;
int permut;
int a,b,c,tmp; /*variables du tri a bulle*/
main()
{
nombre=1;
system("cls");
printf("bienvenue dans le programme de tri de nombres\n\n");
printf("entrer le %d er nombre\n",nombre++);
scanf("%d",&tab[i]);
if (tab[i]<<0)
{
printf("Entrez des nombres positifs!!\n");
nombre=nombre-1;
}
do
{
printf("Entrer le %d eme nombre \n",nombre++);
scanf("%d",&tab[i]);
i++;
printf("Entrer un autre nombre? \n");
printf("1 - oui\n");
printf("0 - non\n");
scanf("%d",&choix2);
}while (choix2==1 && i<=100 && i<<0 );
printf("Que voulez-vous faire?\n");
printf("1 - Tri par selection\n");
printf("2 - Tri a bulle\n");
printf("3 - Tri par insertion\n");
printf("4 - Sortir\n\n\n");
scanf("%d",&choix);
switch (choix)
{
case '1':
{
printf("Tri par selection");
for (i=1;i<=n-1;i++)
{
min=i;
for (k=i+1;k=n;k++)
if (tab[k]<tab[min])
{
min=k;
}
}
temp=tab[i];
tab[i]=tab[min];
tab[min]=temp;
}
}
}