Сортировка обменами. Массивы (корректировать код с++)
Здравствуйте!
Третий день мучаюсь с этой программой.
Очень хочу реализовать.
Но отсутствие опыта дает о себе знать.
Проверьте, пожалуйста код, и укажите на ошибки.
Также в самом коде закомментировал то, что совсем не понимаю. Жду ответов на эти вопросы.
Заранее премного благодарен.
Можно на почту.
#include "stdafx.h"
#include
#include
using namespace std;
int main ()
{
int n, counter(0);
cin>>n;
int *arr = new int [n];
// как я понял, здесь нужно заполнить массив? как это сделать, и что должно получиться?
for (int j=0; j
}
for (int i=0; i=n-j-1; i++) { // правильно ли здесь задано i=n-j-1? или нужно написать i
swap(arr, arr[i+1]);
counter++;
}
}
}
cout << counter;
// как здесь можно вывести отсортированный массив?
delete [] arr;
return 0;
}
for (int j=0; j
}
То, что хочу получить от программы:
Дана последовательность чисел а1, а2,...аn. Требуется переставить числа в порядке возрастания. Для этого сравниваются два соседних числа ai и ai+1. Если аi > ai+1, то делается перестановка. Так продолжается до тех пор, пока все элементы не станут расположены в порядке возрастания. Составить алгоритм сортировки, подсчитывая при этом количества перестановок.