2017-02-23 75 views
-4

Я изучаю сортировку по воздушному шару, потому что это было одно из моих заданий, но Google дал мне только один образец ссылки на воздушный шар, а остальное - Bubble Sort. Я скомпилировал код в Dev C++ и сказал, что он имеет некоторую ошибку ...Воздушный шар Сортировка C++

Вот [ссылка] (http://www.codemiles.com/c-examples/balloon-sort-algorithm-c-implementation-code-sorting-array-t10823.html)! Это Google дал мне ... вот код ...

#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

Можете ли вы помочь мне, как закодировать Balloon Сортировка в C++ с некоторыми пояснениями ... Спасибо заранее!

+0

wait .. Я отредактирую сообщение ... Мне просто нужно знать, как вводить программу здесь в stackoverflow ... – Kolliath01

+0

Вам не хватает двух операторов include. выполните поиск по двум функциям, которые компилятор не может найти, и вы должны найти страницы документации, которые расскажут вам, какие заголовки вам нужно добавить. – user4581301

+0

Код, который вы отправили, - это только [выбор сортировки] (https://en.wikipedia.org/wiki/Selection_sort). Термин «воздушный шар» не очень распространен. Из немногих ссылок на него, которые я видел, некоторые говорят, что это похоже на сортировку пузырьков, а некоторые говорят, что это похоже на сортировку вставки. Но несколько примеров кода, которые я видел, показывают, что это простой выбор. –

ответ

0

Это будет иметь некоторые ошибки, потому что компилятор будет искать int main() так изменить недействительным воздушный шар, и удалить clrsrc();

Поскольку вы использовали setw(), вы должны использовать #include <iomanip>

Заголовок является частью библиотека ввода/вывода стандартной библиотеки C++. Он определяет функции манипулятора resetiosflags(), setiosflags(), setbase(), setfill(), setprecision() и setw(). Эти функции могут быть удобно использованы программами C++ для воздействия на состояние объектов iostream.

И, наконец, вы должны сделать cout<<setw(5)<<N[z]; в 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; 
} 
} 

и если вы запустите его ... вот мой пример вывод

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 . . . 

Надеется, что это работает на вашем назначении! Удачи!

 Смежные вопросы

  • Нет связанных вопросов^_^