Я пытаюсь использовать сортировку пузыря в функции вместо встроенного, и у меня, похоже, проблема с возвратом результатов. Как и в настоящее время, это не дает мне никаких результатов. Вот мой код, который я написал до сих пор ...C++ Bubble Сортировать (по возрастанию) функция не возвращает результаты
В принципе, пользователь сообщает программе, сколько номеров они хотят ввести (до 20 разрешенных), затем вводит их в массив в указанном порядке. Затем он печатает введенные значения, сортирует и печатает отсортированные значения. Или, по крайней мере, это то, что должно произойти.
Спасибо за помощь заранее!
#include <iostream>
using namespace std;
int vault[20] = {}; // array to store the 20 values
int val = 0; // variable to pass values to the array
int amt = 0; // variable to get the amount of numbers the user is going to enter
int i = 0; // loop counter
// Bubble Sort Function Prototype
void bubble (int (&vault)[20], int val);
// Bubble Sort Function
void bubble (int (&vault)[20], int val)
{
int swap = 1; // flag used to indicate swaps occuring
int temp = 0; // holder variable
int x = 0; // loop counter
int y = 0; // second loop counter
for (x = 0; (x < val) && (swap = 1); x++)
{
swap = 0;
for (y = x+1; y < val; y++)
{
if (vault[x] > vault[y])
{
temp = vault[x];
vault[x] = vault[y];
vault[y] = temp;
swap = 1;
}
}
}
return;
}
int main()
{
cout << "Welcome to the Bubble Sort exe\n\n" << endl;
cout << "Please enter in the amount of numbers you would like to enter: ";
cin >> amt;
cout << "Please enter the values you wish to enter: ";
for(i = 0; i < amt; i++)
{
cin >> vault[i];
}
cout << "The values you entered in order are: ";
for (i = 0; i < amt; i++)
{
cout << vault[i] << ' ';
}
cout << "\n\nLet me just sort that for you!" << endl;
bubble(vault, val);
cout << "\n\nHere are the values in ascending order:\n" << endl;
for (i = 0; i < val; i++)
{
cout << vault[i] << ' ';
}
system("pause");
return 0;
}
Altough это не действительно пузырьковая сортировка алгоритм вашей проблемы в том, что вы сохраняете размер массива, который нужно сортировать по amt, и вы передаете val в функцию сортировки, которая инициализируется 0. Кроме того, вы проверяете, является ли i> amt; ... –
Это сделало это ... конечно, что-то такое же маленькое, что и меня. Спасибо вам за помощь! Кроме того, все говорят, что на самом деле это не пузырь, но я вижу эту точную форму на всех форумах и из документов прямо из моего профессора, наверное, я чего-то не хватает ... – Dpry12