Tri d'un tableau d'entier
Résolu
Sabetodo
Messages postés
120
Date d'inscription
Statut
Membre
Dernière intervention
-
Sabetodo Messages postés 120 Date d'inscription Statut Membre Dernière intervention -
Sabetodo Messages postés 120 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
salut les gars.SVP, doonez-;oi un coup de main sur un exo.
Écrire une fonction qui trie un tableau d'entiers, par ordre
croissant. Les parametres sont : un pointeur sur entier, le nombre
d'entiers dans le tableau.
Voici ce que j'ai fait, mais lors de l'affichage le tab n'est pas affiche dans l'ordre croissant.
salut les gars.SVP, doonez-;oi un coup de main sur un exo.
Écrire une fonction qui trie un tableau d'entiers, par ordre
croissant. Les parametres sont : un pointeur sur entier, le nombre
d'entiers dans le tableau.
Voici ce que j'ai fait, mais lors de l'affichage le tab n'est pas affiche dans l'ordre croissant.
int my_putchar(char c) { write(1, &c, 1); } void my_sort_int_tab(int *tab, int size) { int i,tampon=0; int *p; for(*p=0;*p<size;*p+1) { for(*p=1;*p<size;*p+1) { if(tab[*p]>tab[*p+1]) { tampon=tab[*p]; tab[*p]=tab[*p+1]; tab[*p+1]=tampon; } } } for(i=0;i<size;i++) { my_putchar('0'+tab[i]); } } int main () { int tableau[6]={1,8,9,6,4,2}; int *tab; tab=&tableau[0]; my_sort_int_tab(tab,6); }
A voir également:
- Tri d'un tableau d'entier
- Trier un tableau excel - Guide
- Tableau word - Guide
- Tableau ascii - Guide
- Imprimer un tableau excel - Guide
- Tableau croisé dynamique - Guide
2 réponses
Que d'erreurs !!! ;=))) mais, rassure-toi, on en a tous fait et malheureusement on en fait toujours.
Toutefois, le compilateur doit râler, et il faudrait au moins corriger ces erreurs-là:
- le 'main' déclaré 'int' n'a pas de valeur de retour,
- idem pour la fonction 'my_putchar',
Erreurs de conception:
- la boucle 'for(*p=0;*p<size;*p+1)' inclut une boucle 'for(*p=1;*p<size;*p+1)', même indice pour les 2 boucles ---> ça ne peut pas marcher!
- pourquoi utiliser un pointeur comme contrôle de boucle, toujours utilisé sous la forme '*p',
Je m'arrête là.
Bon courage.
Toutefois, le compilateur doit râler, et il faudrait au moins corriger ces erreurs-là:
- le 'main' déclaré 'int' n'a pas de valeur de retour,
- idem pour la fonction 'my_putchar',
Erreurs de conception:
- la boucle 'for(*p=0;*p<size;*p+1)' inclut une boucle 'for(*p=1;*p<size;*p+1)', même indice pour les 2 boucles ---> ça ne peut pas marcher!
- pourquoi utiliser un pointeur comme contrôle de boucle, toujours utilisé sous la forme '*p',
Je m'arrête là.
Bon courage.