Предмет: Информатика, автор: komlukdanulo

Измените проект упорядочения одномерного массива методом обмена, чтобы
его исполнение прерывалось, если при очередном прохождении массива
никакого обмена не вышло. Сохраните проект в папке с именем Задание 5.3.4, созданной в вашей папке. Объясните, какие именно изменения вы произвели.

Срочно!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!


komlukdanulo: Прашу нада очень срочна

Ответы

Автор ответа: mixail0809
0

#include <stdio.h>

#define SIZE 10

int main() {

int arr[SIZE] = {3, 9, 4, 2, 1, 8, 5, 7, 6, 0};

int i, j, temp, swapped;

for (i = 0; i < SIZE - 1; i++) {

swapped = 0; // флаг, который будет фиксировать, был ли произведен обмен на данном проходе

for (j = 0; j < SIZE - i - 1; j++) {

if (arr[j] > arr[j + 1]) {

temp = arr[j];

arr[j] = arr[j + 1];

arr[j + 1] = temp;

swapped = 1; // устанавливаем флаг, если был произведен обмен

}

}

if (!swapped) { // если обмен не был произведен, значит, массив уже упорядочен

break;

}

}

for (i = 0; i < SIZE; i++) {

printf("%d ", arr[i]);

}

return 0;

}

Похожие вопросы
Предмет: Геометрия, автор: amir345543355