[langage C] programme pour trier valeurs

Résolu/Fermé
nicochamadelol Messages postés 78 Date d'inscription mercredi 28 novembre 2007 Statut Membre Dernière intervention 9 mai 2011 - 29 nov. 2007 à 20:24
 Stiv\38 - 26 févr. 2013 à 17:04
Bonjour,
j'aimerai savoir comment trier des valeur en langage C et faire un ptit programme du genre:
l'utilisateur entre 10 chiffres puis le programme les triees par ordre croissant et les réaffiche.
merci a la communauté de bien vouloir m'aider!
(ps: si on pouver m'écrire le programme sa serai trop cool !!)
merci d'avance

6 réponses

mype Messages postés 2435 Date d'inscription jeudi 1 novembre 2007 Statut Membre Dernière intervention 16 août 2010 436
29 nov. 2007 à 22:24
c'est deja pas mal ta partie pour remplir le tab est correct
pour faire le tri faut utiliser une variable temporaire
voici ton programme avec le tri et j'ai aussi corriger quelque petite erreur que tu as fait
si tu comprends pas quelquechose dans le programme tu peux me demander...
#include <stdio.h>
int main()

{
int i,j;
float temp;
float tab[10];

for(i=0 ; i<10 ; i++)
{
    printf("saisir nombre %d : \n",i+1);
    scanf("%f",&tab[i]);
}
    for(i=0;i<9;i++)
        for(j=i+1;j<10;j++)
            if(tab[i]>tab[j]){
                temp=tab[i];
                tab[i]=tab[j];
                tab[j]=temp;
                }
        printf("voici le tableau trie dans l'ordre croissant\n");
    for(i=0;i<10;i++)
        printf("%.2f ",tab[i]);

return 0;
}
8
mype Messages postés 2435 Date d'inscription jeudi 1 novembre 2007 Statut Membre Dernière intervention 16 août 2010 436
29 nov. 2007 à 21:58
ça serait encore plus cool si on t'explique et que apres tu crée le programme tout seul...
il faut rentré les 10 valeurs dans un tableau et ensuite tu fait le tri
essaye de faire un code poste et on corrigeras tes erreurs
3
mype Messages postés 2435 Date d'inscription jeudi 1 novembre 2007 Statut Membre Dernière intervention 16 août 2010 436
29 nov. 2007 à 22:51
c'est pour echanger le contenu de deux cases du tableau il faut utiliser une variable temporaire temp
tu stocke le contenu de tab[i] dans temp
tab[i] est maintenant vide tu met dedans le contenu de tab[j]
tab[j] est maintenant vide et tu met dedans ce que contient temp soit ce que contenait tab[i] au depart
2
Salut,

Moi aussi je cherchais comment faire un tri et apparemment je constate kon trouve tout ce qu'on veut en programmation sur Internet.

Merci.
0
nicochamadelol Messages postés 78 Date d'inscription mercredi 28 novembre 2007 Statut Membre Dernière intervention 9 mai 2011 5
29 nov. 2007 à 22:10
merci de bien vouloir m'aider
alors je commence en langage c depuis octobre en bts et j'avoue que la programation n'est pas mon fort
voila ce que j'ai commencer mais quand j'arrive pour faire le trie je ne voi pas du tout

#include <stdio.h>
int main()

{
int i;
float tab[11];
float tab1[11]

printf("saisir 10 nombres\n");

for(i=1 ; i<=10 ; i++)
{
printf("saisir nombre n° %d\n",i);
scanf("%f",&tab[i]);
}


return 0;

}

peut tu me donner quelques pistes pour commencer ma reflexion

merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
nicochamadelol Messages postés 78 Date d'inscription mercredi 28 novembre 2007 Statut Membre Dernière intervention 9 mai 2011 5
29 nov. 2007 à 22:33
merci d'avoir répondu aussi vite
et en fete je ne comprend pas cet partie du programme


temp=tab[i];
tab[i]=tab[j];
tab[j]=temp;

merci
0
ou bien avec un pointeur :
*t= tab[i];
tab[i]= tab[j];
tab[j]= *t;
0
bonjour,
j'ai un problème dans mon programme j'espère que vous m'aider il faut que je calcule la distance euclidienne entre une image et plusieurs images et il faut que je retourne l'image qui a la valeur la plus petite j'ai fait le programme qui calcule la distance mais je sais pas comment faire pour retourner la plus petite valeur
0