Сортировка массива по возрастанию методом прямого обмена - C (СИ) (71667)
Формулировка задачи:
Задание :Массив из 5 целых чисел заполнить с клавиатуры. Произвести сортировку массива по возрастанию методом прямого обмена . После каждого прохода выводить содержимое массива.
Набросок есть .сделайте пожалуйста по возрастанию . Какой должен быть ответ на картинке .
#include <stdio.h> #include <conio.h> #define n 5 int main() { int a[n], min, n_min, temp; for(int i = 0; i < n; i++) { scanf("%3i", &a[i]); } for(int i = 0; i < n - 1; i++) { min = a[i]; n_min = i; for(int k = i + 1; k < n; k++) { if(a[k] < min) { min = a[k]; n_min = k; } } temp = a[i]; a[i] = a[n_min]; a[n_min] = temp; for(int j = 0; j < n; j++) { printf("%3i", a[j]); } printf("\n"); getch(); } printf("\n"); return 0; }
Решение задачи: «Сортировка массива по возрастанию методом прямого обмена»
textual
Листинг программы
#include <stdio.h> int main() { int i, x, arr[5] = {1, 2, 5, 4, 3}; for(i = 1; i < 5; ++i){ if(arr[i] < arr[i - 1]){ x = arr[i - 1]; arr[i - 1] = arr[i]; arr[i] = x; for(i = 0; i < 5; ++i){ printf("%d ", arr[i]); if(i == 4) printf("\n"); } i = 1; } } return 0; }
Объяснение кода листинга программы
- Подключение стандартной библиотеки
для работы с выводом на экран - Объявление переменных: i - счётчик для цикла x - временная переменная для обмена значениями arr[5] - массив из 5 элементов со значениями {1, 2, 5, 4, 3}
- Начинается цикл for для прохода по массиву от 1 до 4 элемента (исключая 5-й элемент)
- Внутри цикла проверяется условие arr[i] < arr[i - 1] (текущий элемент меньше предыдущего)
- Если условие выполняется, то значениями переменных x и arr[i - 1] меняются местами значениями arr[i] и arr[i - 1]
- Далее, с помощью вложенного цикла for и оператора printf выводятся значения массива на экран через пробел
- Если i == 4, то выводится символ новой строки \n
- После завершения вложенного цикла, значение i сбрасывается до 1 для следующего прохода по циклу
- По завершении цикла for, программа возвращает 0, что означает успешный конец работы
- Значения массива после сортировки: 1, 2, 3, 4, 5
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д