Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1189 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  VC++ 6.0 et tri de tableau: bug du compilateur???

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

VC++ 6.0 et tri de tableau: bug du compilateur???

n°653712
Tal - Iban​ez
La connerie est infinie
Posté le 24-02-2004 à 20:53:47  profilanswer
 

Code :
  1. #include <iostream>
  2. using namespace std;
  3. void Swap(int* val1, int* val2)
  4. {
  5. int temp = *val1;
  6. *val1 = *val2;
  7. *val2 = temp;
  8. }
  9. void PrintTable(int* table, int size)
  10. {
  11. for(int x = 0; x < size; x++)
  12. cout << table[x] << " ";
  13. cout << endl;
  14. }
  15. void Sort(int* table, int size)
  16. {
  17. for(int start = 0; start < size-1; start++)
  18. for(int k = start + 1; k < size; k++)
  19. if(table[k] < table[start])
  20. Swap(&table[start], &table[k]);
  21. }
  22. void Tri(int* table, int taille)
  23. {
  24. cout << taille << endl;
  25. for(int i = 0;i < 3; i++)
  26. {
  27.  Sort(table + i * 10 ,10);
  28. }
  29. }
  30. void main(void)
  31. {
  32. int table1[] = {5,9,8,1,3,5,4,3,6,1};
  33. int table2[] = {4,6,3,7,9,2,1,1,5,8};
  34. int table3[] = {4,6,7,9,8,6,4,7,8,9};
  35. int* tableP[] = {table1,table2,table3};
  36. Tri(*tableP , 3);
  37. PrintTable(table1, 10);
  38. PrintTable(table2, 10);
  39. PrintTable(table3, 10);
  40. }


 
Voilà mon problème:
 
Je débute en c++ et j'utilise Visual C++ 6.0.
J'ai repris du code d'un tutorial pour un exercice et j'en ai rajouté pour trier des tableaux.
Je crée un tableau de pointeurs (tableP) et j'appelle ce tableau par la fonction Tri pour que celle-ci trie dans un ordre croissant les membres de chaque tableau dont le pointeur est contenu dans tableP.
Lorsque je compile, je n'ai aucune erreur mais l'affichage est variable selon les dispositions:
-Soit seul le premier tableau est affiché trié (table1 par exemple) lorsque le tableau en question est déclaré avant les autres et que ce tableau est le premier paramètre du tableau tableP. Les autres tableaux (table2 et table3 dans notre exemple) étant affichés inchangés.
Exemple:
 

Code :
  1. int table1[] = {5,9,8,1,3,5,4,3,6,1};
  2. int table2[] = {4,6,3,7,9,2,1,1,5,8};
  3. int table3[] = {4,6,7,9,8,6,4,7,8,9};
  4. int* tableP[] = {table1,table2,table3};
  5. // ou
  6. int table3[] = {5,9,8,1,3,5,4,3,6,1};
  7. int table1[] = {4,6,3,7,9,2,1,1,5,8};
  8. int table2[] = {4,6,7,9,8,6,4,7,8,9};
  9. int* tableP[] = {table3,table2,table1};


 
-Soit tous les tableaux sont affichés triés correctement.
-Soit j'ai  des messages d'erreurs windows ( la fenêtre où on nous demande de signaler l'erreur à Microsoft)...
 
Je vois pas trop ce qui cloche dans mon programme, même si je débute dans les pointeurs.
Est-ce que c'est mon programme qui bug ou VC++ ???


---------------
Mort aux cons. http://42496.aceboard.net
mood
Publicité
Posté le 24-02-2004 à 20:53:47  profilanswer
 

n°653713
chrisbk
-
Posté le 24-02-2004 à 20:56:02  profilanswer
 

c'est toi, aucun doute la dessus :D
 

Code :
  1. void Tri(int** table, int taille)
  2.   {
  3.      cout << taille << endl;
  4.      for(int i = 0;i < 3; i++)
  5.      {
  6.         Sort(table[i],10);
  7.      }
  8.   }


 
et  
 
 

Code :
  1. Tri(tableP , 3);

n°653714
Taz
bisounours-codeur
Posté le 24-02-2004 à 20:56:47  profilanswer
 

oh du C
 
Sort(table + i * 10 ,10);  
 
qui te dit que tous tes tableaux sont contigus ? ton prototyp est mauvais, il te faut un int **tab, et trier (tab[i], 10)
 
edit:grillaid


Message édité par Taz le 24-02-2004 à 20:57:16
n°653719
Tal - Iban​ez
La connerie est infinie
Posté le 24-02-2004 à 21:02:51  profilanswer
 

Merci, la solution a l'air de marcher...


---------------
Mort aux cons. http://42496.aceboard.net

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  VC++ 6.0 et tri de tableau: bug du compilateur???

 

Sujets relatifs
passer un tableau php a une page via un formulaire<html> Probème de tableau avec IE
lister les fichiers d un repertoire dans un tableau et les trierProblème avec un tableau et un require inclus dedans..
Cellule qui n'est pas de taille fixe dans un tableautableau dans power point
Diminuer taille d'un tableauimpression de plusieurs pages d'un tableau dynamique avec catégorie
N00b : je n'arrive pas à remplir mon tableau :/lien affichant une page au sain d'un tableau
Plus de sujets relatifs à : VC++ 6.0 et tri de tableau: bug du compilateur???


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR