|
| naz22 | Posté le 12/08/2007 @ 16:11 |
Petit astucien
24 Messages
| Salut tout le monde , Je commence à apprendre le langage C et j'ai voulu effectuer un programme qui permet de créer une fonction "ordonnerTableau" qui classe les valeurs d'un tableau dans l'ordre croissant. Alors j'ai effectué le programme et je ne trouve pas la faute .En effet , lors de l'exéction ,le pgm m'affiche la plus petite valeur sur toutes les cases du tableau .Alors si vous pouvez m'aider ce sera trés sympa. Voici le code source: #include <stdio.h> #include <stdlib.h>
void ordonnerTableau(long tableau[], long tailleTableau); int main(int argc,char *argv[]) { long i=0; long tableau[4]={15,81,22,13}; ordonnerTableau(tableau,4); for (i=0;i<4;i++) { printf("%ld\n",tableau[i]); } system("PAUSE"); } void ordonnerTableau(long tableau[], long tailleTableau) { long i=0,j=0; for (i=0;i<tailleTableau;i++) { for (j=i+1;j<tailleTableau;j++) { if (tableau[j]<tableau[i]) { tableau[i]=tableau[j]; tableau[j]=tableau[i]; } } } } Et merci d'avance.
|
| |
| |
| Publicité |
|
|
| AlexPrince | Posté le 12/08/2007 à 23:02 |
Petit astucien
398 Messages
| tableau[i]=tableau[j]; tableau[j]=tableau[i];
Devrait plutôt être: long temp = tableau[i]; tableau[i] = tableau[j]; tableau[j] = temp;
Car tu assignes d'abord la valeur de l'index j a l'index i et ensuite tu assignes la valeur de l'index i à l'index j... mais i vaut maintenant j.. ce que tu ne veux pas. Edit: Aussi, utilises les tags de code (le bouton C++, dans les options de formattage) quand tu mets du code dans un de tes posts. Ça permet de garder les espaces. Modifié par AlexPrince le 12/08/2007 23:04 |
| |
|
| naz22 | Posté le 13/08/2007 à 14:29 |
Petit astucien
24 Messages
| merci AlexPrince , c trés gentil de votre part de répondre, j'ai essayé votre solution et ça a marché trés bien donc encore merci et j'espére pouvoir un jour rendre service. thinks et passez une belle journée. Modifié par naz22 le 13/08/2007 14:30 |
| |
|
| don diego | Posté le 13/08/2007 à 20:37 |
Petit astucien
323 Messages
| Rendre un service à AlexPrince en C, ça risque de prendre du temps... |
| |
|
|
| Haut de la page |