Метод "пузырька" - прокомментировать код - C (СИ)
Формулировка задачи:
Обьясните пожалуйста смысл програмы и все команды!!! какая что обозначает!!!!!! Не могу понять!!!
Метод "пузырька":
#include<iostream.h>
#include<conio.h>
int main() {
const int n = 8;
int i;
int a[n] = {9, 13, 8, 0, 5, 14, 10, 6};
cout <<"\nVivedennja masivu: \n";
for ( i = 0; i < n; i++)
cout << a[i] << '\t';
int Temp, j = 1;
bool prapor = false;
do
{
prapor = false;
for(i = 0; i <n-j; i++)
if (a[i] > a[i+1])
{
Temp = a[i];
a[i] = a[i+1];
a[i+1] = Temp;
prapor = true;
}
j++;
}
while (prapor);
cout << "\nPislja sortuvannja:\n";
for (i = 0; i < n; i++)
cout << a[i] << '\t';
getch();
return 0;
}Решение задачи: «Метод "пузырька" - прокомментировать код»
textual
Листинг программы
int f,i,temp;
const size=5;
int arr[size]= {9,4,8,5,3};
for(f=0;f<size;f++) {
for(i=0;i<size-1;i++) {
if(arr[i] > arr[i+1]) {
temp = arr[i];
arr[i] = arr[i+1];
arr[i+1] = temp;
}
}
}
Объяснение кода листинга программы
- Объявлены три переменные:
f,i,temp. - Объявлен константный массив
arrразмером 5, инициализированный значениями {9, 4, 8, 5, 3}. - Два вложенных цикла
forначинаются. - Внутренний цикл выполняется до тех пор, пока его счетчик
iменьше размера массиваarrминус один. - Если элемент массива с индексом
iбольше следующего за ним элемента, то происходит обмен этих элементов с помощью временной переменнойtemp. - Код внутри внутренних циклов выполняется для каждого элемента массива
arrот начала до конца. - После завершения циклов, отсортированный массив
arrсохраняет порядок элементов по возрастанию.