> Tous les forumsAutres langages

 probléme en programme CSujet résolu
Statut du sujet : RESOLU Imprimer
 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.

 Afficher le profil de naz22Envoyer un message privé à naz22
 
 
Publicité
 AlexPrince  Posté le 12/08/2007 à 23:02  
Petit astucien

398 Messages
  1. tableau[i]=tableau[j];
  2. tableau[j]=tableau[i];

Devrait plutôt être:

  1. long temp = tableau[i];
  2. tableau[i] = tableau[j];
  3. 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
Afficher le profil de AlexPrinceEnvoyer un message privé à AlexPrince
 Revenir en haut de la page
 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
Afficher le profil de naz22Envoyer un message privé à naz22
 Revenir en haut de la page
 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...
Afficher le profil de don diegoEnvoyer un message privé à don diego
 Revenir en haut de la page
Haut de la page 
Inscrivez-vous !
- Posez vos questions

- Résolvez vos problèmes

- Aidez les autres

- Participez et créez vos discussions

- Dialoguez en privé avec d'autres membres

- Suivez vos sujets préférés

- Affichez les signatures des membres

TOUT EST GRATUIT !

Je crée mon compte



Les sujets pertinents liés
Recupérer le nom de l'ordinateur/utilisateur !!!
Probleme deSetup
problème d'appel à paint pour Tetravex!
problème ordre de lecture
débutant :problème d'exécution
besoin d'aide c++
probléme compilation devc++
probleme jdom java
probleme port serie
problème JAVASCRIPT avec IE
Problème de "liens" avec Gmail
probléme code blok
Besoin d'aide pour un programme
Problème de caractères alphabétiques
Problème de .bat au démarrage de windows
Jonas, Tomcat & Eclipse
Problème avec paradoxe !
 
Vous avez besoin d'aide ?
Des centaines d'experts sont à votre disposition sur les forums PC Astuces pour vous aider gratuitement, 24h/24, 7j/7.

Les derniers sujets résolus !



 > Tous les forumsAutres langages

 
Forum PC Astuces© 1997-2008 WebastucesAller en haut de la page