Partage
  • Partager sur Facebook
  • Partager sur Twitter

exercice 5 sur les tableaux

Sujet résolu
14 août 2008 à 0:47:29

voici le code:(on doit trier un tableau)

Citation : jetez un coup d'oeil:


#include <stdio.h>
#include <stdlib.h>
void ordonnerTableau(long tableau[], long tailleTableau);



int main(int argc, char *argv[])
{
long tableau [10]={15,12,36,56,456,6984,987,652,123,154};
long k,max,i;
for (k=0;k<10;k++)
{
printf("%ld\n",tableau[k]);
}
printf ("votre tableau bien ordonne : \n");

ordonnerTableau(tableau,10);
for (i=0;i<10;i++)
{printf ("%ld\n",tableau[i]);}
system("PAUSE");
return 0;

}
void ordonnerTableau(long tableau[], long tailleTableau)


{
long aux,i=1;
long j;
j=i+1;
while (i<tailleTableau-1)
{
while (j<tailleTableau)
{

if (tableau[i]<tableau[j])
{aux=tableau[i];
tableau[i]=tableau[j];
tableau[i]=aux;}
}
}
}


  • Partager sur Facebook
  • Partager sur Twitter
14 août 2008 à 0:50:35

je veux un bonbon.






La politesse sa existe.
Donne nous des precisions, s'il te plait.
  • Partager sur Facebook
  • Partager sur Twitter
14 août 2008 à 1:00:59

c bizarre l'exécution.précision: j'étudiais la programmation en langage pascal et je faisait ce qu'on appelle le tri par sélection,j'ai juste traduit ce que je savais en C.
  • Partager sur Facebook
  • Partager sur Twitter
14 août 2008 à 1:03:48

en fait, les balises codent sont pour les nuages ? (désolé, j'aime pas dire du mal des chiens :-° )

pour en dessous :
C'est le reglement pour les nuages, dans ce cas la :)
  • Partager sur Facebook
  • Partager sur Twitter
14 août 2008 à 1:13:48

o_O je ne t'ai pas compris.bon moi je cherchais depuis 30 min sur le forum une solution ou plutôt un tri 'efficace' :(
  • Partager sur Facebook
  • Partager sur Twitter
14 août 2008 à 1:15:35

Citation : kerimosso

voici le code:(on doit trier un tableau)


Dans les boucles, les indices (i, j) ne varient pas...

Ceci fonctionne :
#include <stdio.h>
#include <stdlib.h>

void ordonnerTableau (long tableau[], long tailleTableau)
{
   long i = 0;
   for (i = 0; i < tailleTableau - 1; i++)
   {
      long j;
      for (j = i + 1;j < tailleTableau;j++)
      {
         if (tableau[i] > tableau[j])
         {
            long aux = tableau[i];
            tableau[i] = tableau[j];
            tableau[j] = aux;
         }
      }
   }
}

void afficherTableau (long tableau[], long tailleTableau)
{
   long i;

   for (i = 0; i < tailleTableau; i++)
   {
      printf ("%5ld", tableau[i]);
   }
   printf ("\n");
}

int main (void)
{
   long tableau[] = { 15, 12, 36, 56, };

#define N(a) (sizeof(a)/sizeof*(a))

   afficherTableau (tableau, N (tableau));
   ordonnerTableau (tableau, N (tableau));
   afficherTableau (tableau, N (tableau));

   return 0;
}

.
   15   12   36   56
   12   15   36   56

Process returned 0 (0x0)   execution time : 0.037 s
Press any key to continue.
  • Partager sur Facebook
  • Partager sur Twitter
Music only !
14 août 2008 à 1:24:27

merci bien! j'ai compris le truc la! mais juste ca:#define N(a) (sizeof(a)/sizeof*(a))?? c'est quoi?
  • Partager sur Facebook
  • Partager sur Twitter
14 août 2008 à 1:40:27

Citation : kerimosso

#define N(a) (sizeof(a)/sizeof*(a))?? c'est quoi?


Une macro. C'est un moyen simple de déterminer le nombre d'éléments d'un tableau. C'est basé sur la définition d'un tableau : "séquence d'éléments identiques".

Le nombre d'éléments est donc la taille du tableau / la taille d'un élément, soit :

n = sizeof tab / sizeof *tab
  • Partager sur Facebook
  • Partager sur Twitter
Music only !
14 août 2008 à 1:47:48

je n'ai pas encore vu ca.bon je suis qu'un débutant je vais suivre le plan du site au début.merci encore.
pr info: j'ai vu ton job est c'est ce que je rêve de faire plus tard..l'an prochain enfin dans un mois je commence les études en insat (insa en tunisie) on continuera après nos études en France :-°
je sais pas pourquoi je vous raconte tout ça en faite :D
  • Partager sur Facebook
  • Partager sur Twitter
Anonyme
14 août 2008 à 3:17:44

Bonjour,

Merci de lire les règles de ce forum.
A l'avenir, merci de penser aux politesses d'usages et aux balises codes.
  • Partager sur Facebook
  • Partager sur Twitter