Ranger par ordre croissant les éléments d'un tableau
Résolu/Fermé
diaguily9
Messages postés
17
Date d'inscription
vendredi 16 janvier 2015
Statut
Membre
Dernière intervention
17 mai 2015
-
Modifié par Chris 94 le 15/02/2015 à 02:06
[Dal] Messages postés 6174 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 2 février 2024 - 18 févr. 2015 à 09:50
[Dal] Messages postés 6174 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 2 février 2024 - 18 févr. 2015 à 09:50
A voir également:
- Trier un tableau par ordre croissant c
- Excel trier par ordre croissant chiffre - Guide
- Tableau croisé dynamique - Guide
- Le fichier contient une liste de prénoms. triez ce tableau par ordre alphabétique des prénoms. quel mot est formé par les 6 premières lettres de la colonne code ? - Forum Bureautique
- Triez ce tableau par ordre alphabétique des prénoms - Forum LibreOffice / OpenOffice
- Tableau ascii - Guide
1 réponse
[Dal]
Messages postés
6174
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
2 février 2024
1 083
Modifié par [Dal] le 16/02/2015 à 10:49
Modifié par [Dal] le 16/02/2015 à 10:49
Salut diaguily9,
Collecte dans un premier temps les éléments du tableau, trie le ensuite. Tu ne peux pas faire les deux en même temps.. du moins pas comme cela.
Pour un tri à bulles, tu dois refaire une passe sur le tableau tant que tu as au moins une permutation.
https://fr.wikipedia.org/wiki/Tri_%C3%A0_bulles
en lignes 9 et 6, enlève le &, car pour le scanf, tab[i] est déjà un pointeur, et pour le tab[i] de printf, ce n'est pas un pointeur mais le contenu que tu veux afficher.
Dal
Collecte dans un premier temps les éléments du tableau, trie le ensuite. Tu ne peux pas faire les deux en même temps.. du moins pas comme cela.
Pour un tri à bulles, tu dois refaire une passe sur le tableau tant que tu as au moins une permutation.
https://fr.wikipedia.org/wiki/Tri_%C3%A0_bulles
en lignes 9 et 6, enlève le &, car pour le scanf, tab[i] est déjà un pointeur, et pour le tab[i] de printf, ce n'est pas un pointeur mais le contenu que tu veux afficher.
Dal
16 févr. 2015 à 20:26
16 févr. 2015 à 20:27
Modifié par [Dal] le 17/02/2015 à 11:08
en analysant ton code plus en détails, je vois qu'il y a de nombreuses autres erreurs, dont une erreur de syntaxe (oubli du point-virgule à la fin de la ligne 16) qui fait qu'il est impossible que ton code compile et que tu puisses l'exécuter, contrairement à ce que tu indiques.
je peux t'indiquer quelles sont tes erreurs, si c'est ce que tu entends par "corrigé complet", mais te fournir le code qui est la réponse à ton exercice irait à l'encontre de la Charte du forum : https://www.commentcamarche.net/infos/25899-demander-de-l-aide-pour-vos-exercices-sur-ccm/
la première chose à faire est de prendre un papier et un crayon et d'écrire ton algorithme, là ta logique est fausse.
ensuite, tu peux le traduire en code C.
un macro-algorithme (à détailler par tes soins) serait :
lorsque tu écris un programme, écris le petit à petit et teste chaque partie avant de passer à la suivante.
Ecris d'abord "- obtenir un tableau d'entiers d'une certaine taille", teste.
écris ensuite "- afficher le tableau", teste que cela affiche bien le contenu du tableau tel que tu l'as saisi.
écris ensuite la partie correspondante au tri, teste, jusqu'à mise au point.
Lorsqu'on écrit un programme, le processus est itératif, et il n'est pas pratique d'avoir à saisir à chaque fois un jeu de données pour tester.
Une fois que tu as écrit ta partie sur la saisie des données et qu'elle est au point, tu peux t'en passer pour développer et tester le code correspondant à ton tri.
Commente la alors et met directement dans ton code un tableau avec des données d'exemple, ce qui te permettra d'accélérer ton cycle de développement.
Par exemple, comme cela :
Une fois que tu as tout mis au point, retire tes données de test et réinsère le code comportant la saisie utilisateur, si elle t'est demandée.
Dal
17 févr. 2015 à 14:05
merci beaucoup Dal j'ai trouvé la solution
18 févr. 2015 à 09:50