Сделать цикл, который сравнивает сначала 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 и т.д. цикл должен быть типо такого(это для двумерного массива)
        
    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;                      
                        }
                    }
этот цикл использовался для сортировки этих лент 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 и т.д.»

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] Выполнение цикла:

  1. Сравниваются элементы a[0] и a[3] (3 и 1). Результат - меньше, поэтому код внутри скобок не выполняется.
  2. Сравниваются элементы a[3] и a[6] (1 и 4). Результат - меньше, поэтому код внутри скобок не выполняется.
  3. Сравниваются элементы a[6] и a[9] (4 и 5). Результат - меньше, поэтому код внутри скобок не выполняется.
  4. Сравниваются элементы a[9] и a[12] (5 и 2). Результат - меньше, поэтому код внутри скобок не выполняется.
  5. Сравниваются элементы a[12] и a[15] (2 и 14). Результат - меньше, поэтому код внутри скобок не выполняется.
  6. Цикл завершается, так как условие i < n - 3 больше не выполняется. Результат: a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]

Оцени полезность:

8   голосов , оценка 4.625 из 5
Похожие ответы