Débutant en C : correction sur le tri bulle
havoc31
Messages postés
8
Date d'inscription
Statut
Membre
Dernière intervention
-
lami20j Messages postés 21331 Date d'inscription Statut Modérateur, Contributeur sécurité Dernière intervention -
lami20j Messages postés 21331 Date d'inscription Statut Modérateur, Contributeur sécurité Dernière intervention -
Bonjour, Je créer un programme de tri bulle mais là ou je bloque c'est au niveau du sous programme de tri (la permutation des 2 nombres) voici le code #include <stdio.h> // saisir la taille du tableau et rentrer les valeur dans un tableau void val_tab (int i, int tab[]) { int longueur; printf("Choisir le nombre de valeur du tableau : "); scanf("%d",&longueur); if (longueur > 50) longueur = 50; for(i=0 ; i<longueur ; ++i) { printf("Rentrer la valeur %d : ",i + 1); scanf("%d",&tab[i]); } } // affichage du tableau void tab_saisi (int tab[], int i) { int longueur; printf("\nTableau saisi : \n"); for(i=0 ; i<longueur ; i++) printf("%d \n",tab[i]); } // permutation int trie (int tab[j], int tab[longueur], int *a, int *b) { int s, j; for (j=0; j>longueur; j++) if (tab[j]<tab[j+1]) { s=*a; *a=*b; *b=s; } } //affichage du tableau trie void tab_trie (int i, int tab[]) { int longueur; printf("\nTableau trie : \n"); for(i=0 ; i<longueur ; i++) printf("%d \n",tab[i]); } int main(void) { int tab[50]; int longueur; int i, a, b; printf("programme de tri bulle\n"); val_tab (i, tab); tab_saisi (tab, i); trie (); tab_trie (i, tab); system("pause"); return 0; } je me perd un peu dans mes déclarations je pense... si quelqu'un peut m'aidé a corrigé les erreurs bêtes...et si possible m'expliquer ce serait gentil. le programme fonctionne mais bug au niveau du sous programme de trie. Merci d'avance pour les futurs réponses.<code></code>
A voir également:
- Tri a bulle en c
- Logiciel de programmation pour débutant - Guide
- Logiciel montage vidéo débutant - Guide
- Apprendre le coran pour débutant (+ pdf) - Télécharger - Histoire & Religion
- Platine dj debutant - Forum Enregistrement / Traitement audio
- Comment utiliser un ordinateur pour un débutant - Astuces et Solutions
1 réponse
Salut,
Par exemple la fonction
Ensuite tu mets en paramétrés int tab[j] et int tab[longueur]. Tout peut passer un tableau en paramétre de la manière int *tab ou int tab[] en revanche si tu veux passer en paramètre juste un int qui sera une valeur contenu dans un tableau il suffit d'écrire int N1 par exemple. Mais je ne pense pas que c'est ça que tu veux.
Ensuite je vois dans main que tu appelles la fonction sans lui passer des arguments trie();
Ce n'est pas correcte.
Voici un exemple pour t'inspirer http://www.commentcamarche.net/forum/affich 4795788 c tri#2
Par exemple la fonction
int trie (int tab[j], int tab[longueur], int *a, int *b) { int s, j; for (j=0; j>longueur; j++) if (tab[j]<tab[j+1]) { s=*a; *a=*b; *b=s; } }Tout d'abord elle doit renvoyer un int et il n'y a pas de return dans ta fonction.
Ensuite tu mets en paramétrés int tab[j] et int tab[longueur]. Tout peut passer un tableau en paramétre de la manière int *tab ou int tab[] en revanche si tu veux passer en paramètre juste un int qui sera une valeur contenu dans un tableau il suffit d'écrire int N1 par exemple. Mais je ne pense pas que c'est ça que tu veux.
Ensuite je vois dans main que tu appelles la fonction sans lui passer des arguments trie();
Ce n'est pas correcte.
Voici un exemple pour t'inspirer http://www.commentcamarche.net/forum/affich 4795788 c tri#2