2017-02-23 4 views
-4

Ich recherchiere über die Balloon Sort, weil es eine meiner Aufgaben war, aber die Google gibt mir nur eine Balloon Sort Link Probe und der Rest war Bubble Sort. Ich kompilierte den Code in Dev C++ und sagte, dass es einen Fehler hat ...Balloon Sort C++

Hier ist [ein Link] (http://www.codemiles.com/c-examples/balloon-sort-algorithm-c-implementation-code-sorting-array-t10823.html)! Das Google hat mir ... hier ist der 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

Können Sie mir helfen, wie die Ballon-Sortieren in C kodieren ++ mit einigen Erklärungen ... Vielen Dank im Voraus!

+0

warten .. Ich werde den Beitrag bearbeiten ... Ich muss nur wissen, wie Sie hier ein Programm bei stackoverflow eingeben ... – Kolliath01

+0

Sie fehlen zwei Include-Anweisungen. Führen Sie eine Websuche für die zwei Funktionen durch, die der Compiler nicht finden kann, und Sie sollten Dokumentationsseiten finden, die Ihnen sagen, welche Header Sie hinzufügen müssen. – user4581301

+0

Der Code, den Sie gepostet haben, ist nur ein [selection sort] (https://en.wikipedia.org/wiki/Selection_sort). Der Begriff "Ballonsorte" ist nicht sehr verbreitet. Von den wenigen Referenzen, die ich gesehen habe, sagen einige, dass es ähnlich wie Bubble Sort ist, und einige sagen, es ist ähnlich wie Insertion Sort. Aber die wenigen Code-Beispiele, die ich gesehen habe, zeigen, dass es sich um eine einfache Auswahl handelt. –

Antwort

0

Es wird einige Fehler haben, weil der Compiler die int main() so die Lücke Ballon verändern suchen, und entfernen Sie die clrsrc();

Da Sie die setw() verwendet, Sie die #include <iomanip>

Der Kopfteil ist verwenden müssen die Input/Output-Bibliothek der C++ - Standardbibliothek. Sie definiert die Manipulatorfunktionen resetiosflags(), setiosflags(), setbase(), setfill(), setprecision() und setw(). Diese Funktionen können bequem von C++ - Programmen verwendet werden, um den Status von Iostream-Objekten zu beeinflussen.

Und schließlich müssen Sie die cout<<setw(5)<<N[z]; in 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; 
} 
} 

machen, und wenn Sie es laufen ... hier ist meine Beispielausgabe

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 this auf Ihrer Zuordnung funktioniert! Viel Glück!