Débutant en C : trier tableau ?
Fermé
ninie
-
17 oct. 2004 à 14:23
TovoPierre Messages postés 3 Date d'inscription mardi 24 novembre 2015 Statut Membre Dernière intervention 27 novembre 2015 - 27 nov. 2015 à 05:38
TovoPierre Messages postés 3 Date d'inscription mardi 24 novembre 2015 Statut Membre Dernière intervention 27 novembre 2015 - 27 nov. 2015 à 05:38
A voir également:
- Trier un tableau par ordre croissant c
- Croissant c - Meilleures réponses
- Tri tableau c - Meilleures réponses
- Formation sap débutant pdf - Forum Programmation
- Logiciel de programmation pour débutant - Guide
- FORMATION SAP DEBUTANT ✓ - Forum Études / Formation High-Tech
- OU TELECHARGER SAP - Forum Logiciels
- Formation pratique sap ✓ - Forum Logiciels
16 réponses
salut,
juste une autre solution. compilé sous linux
exo du www.siteduzero.fr
// une fonction ordonnerTableau qui classe les valeurs d'un tableau dans l'ordre croissant. Ainsi, un tableau qui vaut {15, 81, 22, 13} doit à la fin de la fonction valoir {13, 15, 22, 81} !
#include <stdio.h>
void ordonnerTableau(long tableau[], long tailleTableau);
int main(int argc, char *argv[])
{
long tab[4] = {15,81,22,13};
int i=0;
ordonnerTableau(tab,4);
for(i=0; i<4; i++)
{
printf("%ld\n",tab[i]);
}
return 0;
}
void ordonnerTableau(long tableau[], long tailleTableau)
{
long i,t,k=0;
for(t = 1; t < tailleTableau; t++)
{
for(i=0; i < tailleTableau - 1; i++)
{
if(tableau[i] > tableau[i+1])
{
k= tableau[i] - tableau[i+1];
tableau[i] -= k;
tableau[i+1] += k;
}
}
}
}
juste une autre solution. compilé sous linux
exo du www.siteduzero.fr
// une fonction ordonnerTableau qui classe les valeurs d'un tableau dans l'ordre croissant. Ainsi, un tableau qui vaut {15, 81, 22, 13} doit à la fin de la fonction valoir {13, 15, 22, 81} !
#include <stdio.h>
void ordonnerTableau(long tableau[], long tailleTableau);
int main(int argc, char *argv[])
{
long tab[4] = {15,81,22,13};
int i=0;
ordonnerTableau(tab,4);
for(i=0; i<4; i++)
{
printf("%ld\n",tab[i]);
}
return 0;
}
void ordonnerTableau(long tableau[], long tailleTableau)
{
long i,t,k=0;
for(t = 1; t < tailleTableau; t++)
{
for(i=0; i < tailleTableau - 1; i++)
{
if(tableau[i] > tableau[i+1])
{
k= tableau[i] - tableau[i+1];
tableau[i] -= k;
tableau[i+1] += k;
}
}
}
}
25 oct. 2010 à 01:14
for(t = 1; t < tailleTableau; t++)
stp?
car j'ai essayé sans et j'ai vu que les 2 premiers seulement étaient rangé mais j'ai du mal à comprendre... merci :)
27 oct. 2010 à 23:33
le for que tu ne comprends pas est une notation élémentaire des boucles for en langage objet.
Donc for(int t=1;t<tailleTableau;t++) signifie:
pour un index de type entier à partir de 1
tant que l'index t est inférieur à la taille du tableau
incrémente t (bien que je préfère la notation ++t)
En globale cela veut dire que tu vas boucler de 1 à la taille du tableau -1, et a chaque boucle tu incrémentes ton compteur t.
J'espère que c'est plus clair pour toi
18 mai 2011 à 22:34
26 déc. 2011 à 14:17
#include <stdlib.h>
void ordonner(int T[],int);
int main(int argc, char *argv[])
{
int T[5]={7,4,5,3,8},i;
ordonner(T,5);
for(i=0;i<5;i++)
{
printf("T[%d]=%d\n",i,T[i]);
}
system("pause");
return 0;
}
void ordonner(int T[],int taille)
{
int i,j,p=0;
for(j=0;j<taille;j++)
{
for(i=0;i<taille;i++)
{
do
{
p=T[i];
T[i]=T[i+1];
T[i+1]=p;
}while(T[i]>T[i+1]);
}
}
}