| exercice 5 | |
|
|
Auteur | Message |
---|
SonnixVI Bonne participation
Messages : 73 Localisation : int *chezmoi=&cbna;
| Sujet: exercice 5 Dim 15 Jan 2012 - 17:31 | |
| Bonjour, Je fais des cours de C sur le site du zero et je suis rendu au exercise de tableau.Mais il y a un exercise que je n'ais pas réussi :/ Il faut que dans le tableau que toute les valeurs soient en ordre croissant. - Code:
-
#include <stdio.h> #include <stdlib.h>
void ordonnerTableau(int tableau[], int tailleTableau);
int main() { int tableau[4]={4,3,2}; ordonnerTableau(tableau,4);
return 0; } void ordonnerTableau(int tableau[], int tailleTableau) { //variables int i; //tableau 0 if (tableau[0]<tableau[1] && tableau[2]) { tableau[0]=tableau[0]; } else if (tableau[0]<tableau[2] && tableau[0]> tableau[1]) { tableau[0]=tableau[1]; } else if (tableau[0]>tableau[1] && tableau[2]) { tableau[0]=tableau[2]; } //tableau1 if (tableau[1]<tableau[0] && tableau[2]) { tableau[1]=tableau[0]; } else if (tableau[1]<tableau[2] && tableau[1]> tableau[0]) { tableau[1]=tableau[1]; } else if (tableau[1]>tableau[0] && tableau[2]) { tableau[1]=tableau[2]; } //tableau2 if (tableau[2]<tableau[1] && tableau[0]) { tableau[2]=tableau[0]; } else if (tableau[2]<tableau[1] && tableau[2]> tableau[0]) { tableau[2]=tableau[1]; } else if (tableau[2]>tableau[1] && tableau[0]) { tableau[2]=tableau[2]; } //affichage for(i=0;i<4;i++) { printf("%d\n",tableau[i]); } } |
|
| |
onilink_ Modérateur
Messages : 9180 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: exercice 5 Dim 15 Jan 2012 - 17:33 | |
| Utilise un algo de tri a bulles. C'est facile a faire et c'est expliqué un peu partout sur le net |
|
| |
SonnixVI Bonne participation
Messages : 73 Localisation : int *chezmoi=&cbna;
| Sujet: Re: exercice 5 Dim 15 Jan 2012 - 19:00 | |
| J'ai vu un tutoriel en C++ de l'algo en bulle.Mais il y a une fonction que j'ai pas en C++ et je voulais vous demandez c'est quoi en C? - Code:
-
void ordonnerTableau(int tableau[], int tailleTableau) { int tab_en_ordre=0;
while(!tab_en_ordre) { int i=0; tab_en_ordre=1; for(i;i<tailleTableau-1;i++) { if(tableau[i]>tableau[i+1]) { swap(tableau[i],tableau[i+1]);// c'est pour inverser les emplacements mais je ne sais pas c'est quoi en C tab_en_ordre=0; } } tailleTableau--; } } |
|
| |
onilink_ Modérateur
Messages : 9180 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: exercice 5 Dim 15 Jan 2012 - 19:07 | |
| En C swap échange juste les valeurs contenues par les deux variables. Ici l'équivalent de swap(tableau[i],tableau[i+1]); est donc int temp = tableau[i]; tableau[i] = tableau[i+1]; tableau[i+1] = temp; |
|
| |
SonnixVI Bonne participation
Messages : 73 Localisation : int *chezmoi=&cbna;
| Sujet: Re: exercice 5 Dim 15 Jan 2012 - 20:00 | |
| Euh... pourtant il y a une boucle mais le programme ne fait que inverser la première valeur. |
|
| |
Invité Invité
| Sujet: Re: exercice 5 Dim 15 Jan 2012 - 21:23 | |
| je l'ai fait avec un autre algo de tri - Code:
-
#include <stdio.h> #include <stdlib.h>
int main() { int i,j,mem;
int tab[8]={5,7,6,3,1,2,4,8}; mem=0; for (i=0; i<8; ++i) { for (j=i; j<8; ++j) { if (tab[j]<tab[i]) { mem=tab[i]; tab[i]=tab[j]; tab[j]=mem; } } }
for (i=0; i<8; ++i) { printf("%d,",tab[i]); } return 0; } la dernière boucle c'est juste pour l'affichage
Dernière édition par sachem le Dim 15 Jan 2012 - 21:46, édité 1 fois |
|
| |
SonnixVI Bonne participation
Messages : 73 Localisation : int *chezmoi=&cbna;
| Sujet: Re: exercice 5 Dim 15 Jan 2012 - 21:42 | |
| - sachem a écrit:
- je l'ai fait avec un autre algo de tri
- Code:
-
#include <stdio.h> #include <stdlib.h>
int main() { int i,j,mem;
int tab[8]={5,7,6,3,1,2,4,8}; mem=0; for (i=0; i<8; ++i) { for (j=i; j<8; ++j) { if (tab[j]<tab[i]) { mem=tab[i]; tab[i]=tab[j]; tab[j]=mem; } } }
for (i=0; i<8; ++i) { printf("%d,",tab[i]); } return 0; } le derniere boucle c'est juste pour l'affichage Enfaite, il faut mettre une boucle for autour de l'algo x) EDIT: j'ai essayé quel que chose dans ton style et ça fonctionne merci
Dernière édition par SonnixVI le Dim 15 Jan 2012 - 21:50, édité 1 fois |
|
| |
Invité Invité
| Sujet: Re: exercice 5 Dim 15 Jan 2012 - 21:45 | |
| |
|
| |
SonnixVI Bonne participation
Messages : 73 Localisation : int *chezmoi=&cbna;
| Sujet: Re: exercice 5 Dim 15 Jan 2012 - 21:50 | |
| Car l'autre j'avais pas trop compris la boucle ouais sa va mieux avec une boucle for.Merci ! |
|
| |
Contenu sponsorisé
| Sujet: Re: exercice 5 | |
| |
|
| |
| exercice 5 | |
|