Отсортировать строки матрицы в порядке возрастания - C (СИ) (76521)
Формулировка задачи:
1. Упорядочить массив А(50) в порядке убывания методом попарно-обменной перестановки.
2. Отсортировать строки матрицы М(8х5) в порядке возрастания.
3. Вычислить сумму всех элементов матрицы В(10х10), лежащих слева от главной диагонали.
Решение задачи: «Отсортировать строки матрицы в порядке возрастания»
textual
Листинг программы
int a[]={9,8,7,6,5,4,3,2,1};
int i, j, k, n=9, f;
do{
for(i=0, k=0; i<n-1; i++)
if(a[i]>a[i+1]) {
f=a[i];
a[i]=a[i+1];
a[i+1]=f;
k=1;
}
n--;
}while(k);
Объяснение кода листинга программы
В данном коде реализуется алгоритм сортировки пузырьком для массива a.
- Переменные:
a- массив, который необходимо отсортировать.i,j,k,n- вспомогательные переменные для реализации алгоритма.f- временная переменная для хранения значения, которое нужно переместить.
- Циклы:
- Внешний цикл
do, который выполняется до тех пор, пока внутренний циклforне завершится. - Внутренний цикл
for, который выполняется отi=0доi<n-1(так как после сортировки элементы, которые были на позицияхn-1иn, уже будут отсортированы).
- Внешний цикл
- Условие:
- Проверка, что текущий элемент массива
a[i]больше следующего элементаa[i+1]. Если это условие выполняется, то значения элементов меняются местами, а также переменнаяkустанавливается в1, что означает, что в текущем проходе внутреннего цикла было совершено хотя бы одно перемещение элементов.
- Проверка, что текущий элемент массива
- Обновление значений:
- Уменьшение значения переменной
nна единицу, так как после каждой итерации внутреннего цикла количество элементов в массиве уменьшается на единицу. - Переменная
kустанавливается в0, что означает, что в текущем проходе внутреннего цикла перемещений элементов не было.
- Уменьшение значения переменной
- Вывод:
- Внутренний цикл
forвыполняется до тех пор, пока не будет выполнено условие остановки (переменнаяkравна0). Таким образом, после завершения внутреннего цикла массив будет отсортирован. Таким образом, данный код реализует алгоритм сортировки пузырьком для массиваa.
- Внутренний цикл