Tri d'un tableau d'entier
Résolu
Sabetodo
Messages postés
127
Statut
Membre
-
Sabetodo Messages postés 127 Statut Membre -
Sabetodo Messages postés 127 Statut Membre -
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
- Logiciel tri photo - 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.