Tri d'un tableau d'entier

Résolu/Fermé
Sabetodo Messages postés 120 Date d'inscription samedi 1 mars 2008 Statut Membre Dernière intervention 18 août 2010 - 14 janv. 2009 à 11:55
Sabetodo Messages postés 120 Date d'inscription samedi 1 mars 2008 Statut Membre Dernière intervention 18 août 2010 - 14 janv. 2009 à 19:48
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.
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:

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.
0
condeab Messages postés 1 Date d'inscription mercredi 14 janvier 2009 Statut Membre Dernière intervention 14 janvier 2009
14 janv. 2009 à 13:03
cette emthode est bonne cest la methode de tri bulles
0
Sabetodo Messages postés 120 Date d'inscription samedi 1 mars 2008 Statut Membre Dernière intervention 18 août 2010 3
14 janv. 2009 à 19:48
oui, c'etait juste un tout petit probleme et c'est deja resolu.merci quand meme.
0