Это l oop
for(int x=0;x=i+1;x++){
является бесконечным l oop, потому что в условии l oop используется присвоение
x=i+1
Так что значение x, то есть значение условия, никогда не будет равно 0.
А алгоритм пузырьковой сортировки сравнивает и обменивает соседние элементы массива.
Также вы можете использовать стандарт функция std::swap
для обмена элементами массива.
Циклы, которые реализуют сортировку пузырьков, могут выглядеть, например, следующим образом, как показано в демонстрационной программе ниже
#include <iostream>
#include <utility>
int main()
{
const size_t N = 6;
int arr[N];
std::cout << "Enter an unarranged amount of " << N << " numbers: ";
for ( auto &item : arr ) std::cin >> item;
std::cout << "Before sorting: ";
for ( const auto &item : arr ) std::cout << item << ' ';
std::cout << '\n';
for ( size_t n = N, last = n; !( n < 2 ); n = last )
{
for ( size_t i = last = 1; i < n; i++ )
{
if ( arr[i] < arr[i-1] )
{
std::swap( arr[i], arr[i-1] );
last = i;
}
}
}
std::cout << "After sorting: ";
for ( const auto &item : arr ) std::cout << item << ' ';
std::cout << '\n';
return 0;
}
Его вывод может выглядеть, например, как
Enter an unarranged amount of 6 numbers: 6 3 1 2 4 5
Before sorting: 6 3 1 2 4 5
After sorting: 1 2 3 4 5 6
Что касается вашего кода, то внутренний l oop должен выглядеть как минимум как
for(int x = 1; x < 6; x++ ){
if ( arr[x-1] > arr[x] ){
temp=arr[x];
arr[x]=arr[x-1];
arr[x-1]=temp;
}
}
и удалить этот оператор после l oop
cout << arr[i] << " ";