Сделать цикл, который сравнивает сначала 0 и 3 элементы, потом 3 и 6 потом 9 и 12 и т.д. - C (СИ)
Формулировка задачи:
есть массив:
25 3 27 24 4 1 24 2 1 5 10 3 5 12 3 5 11 3 19 20 21 10 11 12 1 2 3
нужно сделать цикл,который сравнивает сначала 0 и 3 элементы, потом 3 и 6 потом 9 и 12 и т.д.
цикл должен быть типо такого(это для двумерного массива)
этот цикл использовался для сортировки этих лент
25 3 27 24 4 1 24 2 1
5 10 3 5 12 3 5 11 3
19 20 21 10 11 12 1 2 3
for(int i = 0; i < 2; i++) { for(w=0;w<2;w++) { int res = 0; for(int k=0;k<3;k++) { if(n1[w+1][k]<n1[w][k]) { res=-1; break; } else if(n1[w+1][k]>n1[w][k]) { res=1; break; } } if(res==-1) //это сортировка пузырьком { for(int i=0;i<3;i++) { tmp = n1[w+1][i]; n1[w+1][i] = n1[w][i]; n1[w][i] = tmp; } }
Решение задачи: «Сделать цикл, который сравнивает сначала 0 и 3 элементы, потом 3 и 6 потом 9 и 12 и т.д.»
textual
Листинг программы
for (int i = 0; i < n - 3; i+=3) { if (a[i] > a[i + 3]) { /*lalalla*/ } }
Объяснение кода листинга программы
В данном коде выполняется цикл, который сравнивает элементы массива a
с шагом в 3 элемента.
Начальное значение переменной i
равно 0, а условие цикла гласит, что его выполнение должно продолжаться, пока значение i
меньше, чем n
минус 3.
При каждой итерации значения i
увеличивается на 3.
Внутри цикла выполняется проверка, что элемент массива a
с индексом i
больше, чем элемент с индексом i + 3
.
Если это условие выполняется, то выполняется блок кода, находящийся внутри фигурных скобок.
Данный код предназначен для сортировки массива по возрастанию.
Пример:
Входные данные:
n = 15
a = [3, 1, 4, 12, 8, 5, 7, 6, 10, 9, 2, 11, 13, 14, 15]
Выполнение цикла:
- Сравниваются элементы a[0] и a[3] (3 и 1). Результат - меньше, поэтому код внутри скобок не выполняется.
- Сравниваются элементы a[3] и a[6] (1 и 4). Результат - меньше, поэтому код внутри скобок не выполняется.
- Сравниваются элементы a[6] и a[9] (4 и 5). Результат - меньше, поэтому код внутри скобок не выполняется.
- Сравниваются элементы a[9] и a[12] (5 и 2). Результат - меньше, поэтому код внутри скобок не выполняется.
- Сравниваются элементы a[12] и a[15] (2 и 14). Результат - меньше, поэтому код внутри скобок не выполняется.
- Цикл завершается, так как условие
i < n - 3
больше не выполняется. Результат: a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]