Tri langage c
Résolu/Fermé
techis
Messages postés
21
Date d'inscription
vendredi 19 septembre 2008
Statut
Membre
Dernière intervention
12 mai 2010
-
4 mars 2010 à 20:49
techis Messages postés 21 Date d'inscription vendredi 19 septembre 2008 Statut Membre Dernière intervention 12 mai 2010 - 4 mars 2010 à 21:48
techis Messages postés 21 Date d'inscription vendredi 19 septembre 2008 Statut Membre Dernière intervention 12 mai 2010 - 4 mars 2010 à 21:48
A voir également:
- Tri langage c
- Langage ascii - Guide
- Tri excel - Guide
- Langage binaire - Guide
- Logiciel tri photo gratuit - Guide
- Pascal langage - Télécharger - Édition & Programmation
7 réponses
tisba972
Messages postés
337
Date d'inscription
mardi 15 juillet 2008
Statut
Membre
Dernière intervention
9 septembre 2011
44
4 mars 2010 à 20:54
4 mars 2010 à 20:54
salut,
Une piste.
tu stock des nombres dans un tableau.
Tu crées une boucle qui parcours le tableau tant que la valeur de la case n est inferieure à la valeur de la case n+1. et tu stok cette valeur dans la case P d'un autre tableau ( sachant que P est incrémenté de 1 à chaque stockage)
Tu n'oublies pas de supprimer la valeur de la case que tu viens de récupérer sinon tu auras toujours le mm nombre.
Une piste.
tu stock des nombres dans un tableau.
Tu crées une boucle qui parcours le tableau tant que la valeur de la case n est inferieure à la valeur de la case n+1. et tu stok cette valeur dans la case P d'un autre tableau ( sachant que P est incrémenté de 1 à chaque stockage)
Tu n'oublies pas de supprimer la valeur de la case que tu viens de récupérer sinon tu auras toujours le mm nombre.
techis
Messages postés
21
Date d'inscription
vendredi 19 septembre 2008
Statut
Membre
Dernière intervention
12 mai 2010
4 mars 2010 à 21:13
4 mars 2010 à 21:13
salut mais jai rien compris
techis
Messages postés
21
Date d'inscription
vendredi 19 septembre 2008
Statut
Membre
Dernière intervention
12 mai 2010
4 mars 2010 à 21:19
4 mars 2010 à 21:19
j'ai essayé mais ca marche pas!!
#include<stdio.h>
#include<conio.h>
main(){
int T[7];
int i,j;
int p;
for(i=0;i<=6;i++)
{
printf("donner la valeur %d",i+1);
scanf("%d",&T[i]);
}
for(i=0;i<=6;i++)
{
for(j=1;j<=7;j++)
{
if(T[0]>T[j])
{
p=T[0];
T[0]=T[j];
T[j]=p;
}
}
}
for(i=0;i<=6;i++)
printf("%d\n",T[i]);
getch();
return 0;
}
ecrire un prog qui permet de trier au sens croissant le Tableau "T" de type entier et de dimension "7"
#include<stdio.h>
#include<conio.h>
main(){
int T[7];
int i,j;
int p;
for(i=0;i<=6;i++)
{
printf("donner la valeur %d",i+1);
scanf("%d",&T[i]);
}
for(i=0;i<=6;i++)
{
for(j=1;j<=7;j++)
{
if(T[0]>T[j])
{
p=T[0];
T[0]=T[j];
T[j]=p;
}
}
}
for(i=0;i<=6;i++)
printf("%d\n",T[i]);
getch();
return 0;
}
ecrire un prog qui permet de trier au sens croissant le Tableau "T" de type entier et de dimension "7"
tisba972
Messages postés
337
Date d'inscription
mardi 15 juillet 2008
Statut
Membre
Dernière intervention
9 septembre 2011
44
4 mars 2010 à 21:25
4 mars 2010 à 21:25
ça fait longtemps que j'ai pas fait de C alors les syntaxes seront surement à revoir
mettre les nombres dans un tableau , je pense que jusque là ça va.
ensuite comparer les valeurs:
tmp = tablo[0];
for(i; i<longueur_tableau;i++)
{
if(tablo[i]<tmp)
{
tmp = tablo[i];
indice = i;
}
else
{ indice=0;}
}
à la fin de cette boucle tu as la plus petite valeur dans tmp, et l'indice du tableau correspondant à cette valeur dans indice
cherches un peu la suite...
je suis sur qu'il existe déjà bon nombres de fonctions dispo sur le net pour ça
mettre les nombres dans un tableau , je pense que jusque là ça va.
ensuite comparer les valeurs:
tmp = tablo[0];
for(i; i<longueur_tableau;i++)
{
if(tablo[i]<tmp)
{
tmp = tablo[i];
indice = i;
}
else
{ indice=0;}
}
à la fin de cette boucle tu as la plus petite valeur dans tmp, et l'indice du tableau correspondant à cette valeur dans indice
cherches un peu la suite...
je suis sur qu'il existe déjà bon nombres de fonctions dispo sur le net pour ça
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
techis
Messages postés
21
Date d'inscription
vendredi 19 septembre 2008
Statut
Membre
Dernière intervention
12 mai 2010
4 mars 2010 à 21:28
4 mars 2010 à 21:28
est ce que vs pouvez me dire ou jai commis d erreur sur mon programme ??
tisba972
Messages postés
337
Date d'inscription
mardi 15 juillet 2008
Statut
Membre
Dernière intervention
9 septembre 2011
44
4 mars 2010 à 21:43
4 mars 2010 à 21:43
pourquoi utilise tu une boucle for avc i dans la deuxieme partie.
tu as ta boucle for avc i, dans laquelle est imbriqué une boucle for avc j.
mais tu utilises à aucun moment ton i .
et pour ce qui est de ta boucle avec j, ça marche si on inverse tout le temps.
mais si lors du premier passage T[0] est inferieur à T[j=1], on touche rien
dc on compare T[0] à T[j=2]. T[0] est superieur donc on inverse. T[0] se retrouve alors derriere ( dc plus grand que T[j=1]) ...; à aucun moment tu ne compares T[j=1] et T[j=2]...
aide toi de petit schema pour comprendre ce qui se passe dans ton code.
Parcequ'il est vrai que à l'écrit comme ça , c'est pas évident à comprendre
tu as ta boucle for avc i, dans laquelle est imbriqué une boucle for avc j.
mais tu utilises à aucun moment ton i .
et pour ce qui est de ta boucle avec j, ça marche si on inverse tout le temps.
mais si lors du premier passage T[0] est inferieur à T[j=1], on touche rien
dc on compare T[0] à T[j=2]. T[0] est superieur donc on inverse. T[0] se retrouve alors derriere ( dc plus grand que T[j=1]) ...; à aucun moment tu ne compares T[j=1] et T[j=2]...
aide toi de petit schema pour comprendre ce qui se passe dans ton code.
Parcequ'il est vrai que à l'écrit comme ça , c'est pas évident à comprendre
techis
Messages postés
21
Date d'inscription
vendredi 19 septembre 2008
Statut
Membre
Dernière intervention
12 mai 2010
4 mars 2010 à 21:48
4 mars 2010 à 21:48
#include<stdio.h>
#include<conio.h>
main(){
int T[7];
int i,j;
int p;
for(i=0;i<=6;i++)
{
printf("donner la valeur %d: ",i+1);
scanf("%d",&T[i]);
}
for(i=0;i<=6;i++)
{
for(j=i+1;j<=7;j++)
{
if(T[i]>T[j])
{
p=T[i];
T[i]=T[j];
T[j]=p;
}
}
}
for(i=0;i<=6;i++)
printf("%d\n",T[i]);
getch();
return 0;
}
voila ca marche mercii:::)
#include<conio.h>
main(){
int T[7];
int i,j;
int p;
for(i=0;i<=6;i++)
{
printf("donner la valeur %d: ",i+1);
scanf("%d",&T[i]);
}
for(i=0;i<=6;i++)
{
for(j=i+1;j<=7;j++)
{
if(T[i]>T[j])
{
p=T[i];
T[i]=T[j];
T[j]=p;
}
}
}
for(i=0;i<=6;i++)
printf("%d\n",T[i]);
getch();
return 0;
}
voila ca marche mercii:::)