2017-02-23 2 views
-4

Je fais des recherches sur le tri Balloon car c'était une de mes missions, mais Google ne m'a donné qu'un seul exemple de lien Balloon Sort et le reste était Bubble Sort. J'ai compilé le code dans Dev C++ et a dit qu'il a une erreur ...Balloon Trier C++

Voici [un lien] (http://www.codemiles.com/c-examples/balloon-sort-algorithm-c-implementation-code-sorting-array-t10823.html)! Google m'a donné ... est ici le code ...

#include<iostream> 
using namespace std; 
void balloon() 
{ int num, N[10], x, y, z,temp; 
clrscr(); 
cout<<"How many number would you like to sort? "; 
cin>>num; 
cout<<"Input the "<<num<<" numbers:"<<endl; 
for(x=0;x<num;x++) 
cin>>N[x]; 
for(x=0;x<num;x++) 
{ 
for(y=0;y<num-x;y++) 
{ if(N[x] > N[x+y]) 
{ temp=N[x]; 
N[x] =N[x+y]; 
N[x+y]=temp; 
} 
} 
cout<<"pass "<<x+1<<"] "; 
for(z=0;z<num;z++) 
{ 
cout<<setw(5)<<N[z]; 
} 
cout<<endl; 
} 
} 

Error Picture Link

Pouvez-vous me aider à coder le ballon Trier en C++ avec quelques explications ... Merci à l'avance!

+0

wait .. Je vais éditer le post ... J'ai juste besoin de savoir comment entrer un programme ici à stackoverflow ... – Kolliath01

+0

Il vous manque deux instructions include. faire un websearch pour les deux fonctions que le compilateur ne peut pas trouver et vous devriez trouver des pages de documentation qui vous indiquent quels en-têtes vous devez ajouter. – user4581301

+0

Le code que vous avez posté est juste un [tri de sélection] (https://en.wikipedia.org/wiki/Selection_sort). Le terme "sorte de ballon" n'est pas très commun. Parmi les rares références que j'ai vues, certains disent que c'est semblable au genre de bulle, et certains disent que c'est semblable au genre d'insertion. Mais les quelques exemples de code que j'ai vus montrent qu'il s'agit d'un tri simple. –

Répondre

0

Il aura une erreur, car le compilateur recherche dans le int main() donc changer le ballon vide, et retirer le clrsrc();

Depuis que vous avez utilisé le setw(), vous devez utiliser le #include <iomanip>

L'en-tête est une partie de la bibliothèque d'entrées/sorties de la bibliothèque standard C++. Il définit les fonctions de manipulateur resetiosflags(), setiosflags(), setbase(), setfill(), setprecision() et setw(). Ces fonctions peuvent être commodément utilisées par les programmes C++ pour affecter l'état des objets iostream.

Et enfin, vous devez faire le cout<<setw(5)<<N[z]; dans cout<<std::setw(5)<<N[z];

#include<iostream> 
#include<iomanip> 
using namespace std; 
int main() 
{ int num, N[10], x, y, z,temp; 

cout<<"How many number would you like to sort? "; 
cin>>num; 
cout<<"Input the "<<num<<" numbers:"<<endl; 
for(x=0;x<num;x++) 
cin>>N[x]; 
for(x=0;x<num;x++) 
{ 
for(y=0;y<num-x;y++) 
{ if(N[x] > N[x+y]) 
{ temp=N[x]; 
N[x] =N[x+y]; 
N[x+y]=temp; 
} 
} 
cout<<"pass "<<x+1<<"] "; 
for(z=0;z<num;z++) 
{ 
cout<<std::setw(5)<<N[z]; 
} 
cout<<endl; 
} 
} 

et si vous l'exécutez ... voici mon exemple de sortie

How many number would you like to sort? 5 
Input the 5 numbers: 
8 
2 
4 
9 
0 
pass 1]  0 8 4 9 2 
pass 2]  0 2 8 9 4 
pass 3]  0 2 4 9 8 
pass 4]  0 2 4 8 9 
pass 5]  0 2 4 8 9 

-------------------------------- 
Process exited after 8.305 seconds with return value 0 
Press any key to continue . . . 

Hope cela fonctionne sur votre mission! Bonne chance!