Classement tableau C:

Résolu/Fermé
mattheo_25 Messages postés 117 Date d'inscription mercredi 28 février 2007 Statut Membre Dernière intervention 28 mars 2007 - 28 févr. 2007 à 10:06
 hhako - 13 août 2009 à 15:06
bonjour, je suis etudiant debutant en language c: et je dois ranger un tableau de 20 nombres par ordre croissant mais je m arrache les cheveux... si quelqun pouvai me debloquer... merci d avance

8 réponses

Stupeflip Messages postés 391 Date d'inscription jeudi 8 février 2007 Statut Membre Dernière intervention 4 décembre 2007 94
28 févr. 2007 à 10:09
Salut,

Il te faut faire un tri à bulle. C'est un exercice classique de première année :)

Piste : tu peux faire ton tri à bulle case par case, c'est à dire tu fais tes comparaisons 2 par 2.

Bonne chance et hésite pas à demander où tu bloques, l'important est de trouver par toi-même :)
0
mattheo_25 Messages postés 117 Date d'inscription mercredi 28 février 2007 Statut Membre Dernière intervention 28 mars 2007 17
28 févr. 2007 à 10:46
pour le tri a bule j 'en etais arrivé la, mais il me manque la commande permettant d intervertir les données dans le tableau fonction de leur valeure...
0
andejen Messages postés 148 Date d'inscription jeudi 9 juin 2005 Statut Membre Dernière intervention 30 juillet 2008 22
28 févr. 2007 à 10:51
en faisant une condition sur la valeur la plus grande et en inversant alors l'affectation des variables si la condition est respectée.
0
mattheo_25 Messages postés 117 Date d'inscription mercredi 28 février 2007 Statut Membre Dernière intervention 28 mars 2007 17
28 févr. 2007 à 10:57
sa serai possible un ti exemple svp ? je galere la...
0
andejen Messages postés 148 Date d'inscription jeudi 9 juin 2005 Statut Membre Dernière intervention 30 juillet 2008 22
28 févr. 2007 à 11:01
c'est pas en 6 minutes entre ma reponse et la tienne que t'as du beaucoup galere m'enfin...
en algorithmie mon dernier post donnerai

si a < b alors
c=a
a=b
b=c
fin si

(normalement ca doit etre un des premiers programmes qu'on apprend si t'as des cours)
0
mattheo_25 Messages postés 117 Date d'inscription mercredi 28 février 2007 Statut Membre Dernière intervention 28 mars 2007 17
28 févr. 2007 à 11:05
nan j'ai pas de cours j me forme pour mon stage...merci
0
andejen Messages postés 148 Date d'inscription jeudi 9 juin 2005 Statut Membre Dernière intervention 30 juillet 2008 22
28 févr. 2007 à 11:08
eh bien essaye deja ce qui vient de t'etre explique et si jamais il y a un probleme n'hesite pas a revenir.

par contre si je peux te conseiller, commences par des tutoriaux, ce sera plus simple et moins prise de tete pour toi...
cintro
ou
https://c.developpez.com/cours/
0

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

Posez votre question
Stupeflip Messages postés 391 Date d'inscription jeudi 8 février 2007 Statut Membre Dernière intervention 4 décembre 2007 94
28 févr. 2007 à 11:14
En gros pour échanger deux valeurs de place, il te faut 1 variable intermédiaire.

Tu as A et B.
Si tu copies A dans B, B sera écrasé n'est-ce pas ?
Alors tu copies d'abord B dans C,
Puis A dans B,
Et enfin C dans A.

Ainsi tu as pu garder tes deux valeurs.

La fonction c est l'opérateur '=', simple non ?
0
mattheo_25 Messages postés 117 Date d'inscription mercredi 28 février 2007 Statut Membre Dernière intervention 28 mars 2007 17
28 févr. 2007 à 11:19
avec trois valeur c'est ok mon prog marche mai avec mon tableau de 20, j arrive pas a trouver la commande correcte ki me peremet d inverser les donner dans le tablo
0
andejen Messages postés 148 Date d'inscription jeudi 9 juin 2005 Statut Membre Dernière intervention 30 juillet 2008 22
28 févr. 2007 à 11:32
ben pour un tableau de 20 tu parcours le tableau avec un for et tu analyses a chaque fois seulement 2 valeurs :)
0
Stupeflip Messages postés 391 Date d'inscription jeudi 8 février 2007 Statut Membre Dernière intervention 4 décembre 2007 94
28 févr. 2007 à 11:33
D'où le nom de tri à bulle !
0
mounir234 Messages postés 174 Date d'inscription mercredi 28 février 2007 Statut Membre Dernière intervention 1 mars 2016 12
1 mars 2007 à 00:22
tu n'a qu'a metre 2 boucle for le traitement ce fait :
for(i=0;i<20;i++){
for(j=i+1;j<20;j++){
if(t[i]>t[j]){
c=t[i];
t[i]=t[j];
t[j]=c;}
}}
bon courage.
0
oui merci
0