Не могу разобраться с циклом - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Доброго времени суток.В матрице нужно найти строку в которой элементы упорядоченны по возрастанию, не могу правильно оформить цикл, помогите плз(Если возможно через динамический массив), спасибо.
 for(i = 0; i < n; i++)
    {
        for(j = 0; j < m-1; j++)
        {
            if(*(a+i*m+j) < *(a+i*m+j+1) && i != n)
                index_i = i;
            break;
        }

    }

Решение задачи: «Не могу разобраться с циклом»

textual
Листинг программы
  for(i = 0; i < n; i++)
    {
        for(j = 0; j < n-1; j++)
        {
            if(a[i][j]>a[i][j+1])
            {
                flag=0;
                break;
            }
 
            if(a[i][j]<a[i][j+1])
                flag=1;
        }
 
    if(flag)
        {
            index_i = i+1;
            break;
        }
    }

Объяснение кода листинга программы

  1. Переменная i инициализируется значением 0.
  2. Переменная j инициализируется значением 0.
  3. Цикл выполняется, пока значение переменной i меньше n.
  4. Внутри цикла выполняется еще один цикл, пока значение переменной j меньше n-1.
  5. Внутри второго цикла проверяется, больше ли значение элемента массива a[i][j] значения элемента a[i][j+1].
  6. Если это условие истинно, то переменная flag устанавливается равной 0 и второй цикл прерывается.
  7. Если значение a[i][j] меньше значения a[i][j+1], то переменная flag устанавливается равной 1.
  8. После завершения второго цикла, если значение переменной flag равно 0, то выполняется следующий блок кода.
  9. Значение переменной index_i устанавливается равным i+1 и первый цикл прерывается.
  10. Если значение переменной flag равно 1, то первый цикл продолжается.
  11. Первый цикл завершается, когда значение переменной i становится равным n.
  12. Если значение переменной flag не определено (равно 0), то значение переменной index_i не устанавливается и программа продолжает работу.
  13. Если значение переменной flag равно 1, то значение переменной index_i устанавливается равным i+1.
  14. Значение переменной flag не определено (равно 0), поэтому программа продолжает работу.
  15. Значение переменной flag равно 1, поэтому программа прерывается.
  16. Значение переменной flag не определено (равно 0), поэтому программа продолжает работу.
  17. Значение переменной flag равно 1, поэтому программа прерывается.
  18. Значение переменной flag не определено (равно 0), поэтому программа продолжает работу.
  19. Значение переменной flag равно 1, поэтому программа прерывается.
  20. Значение переменной flag не определено (равно 0), поэтому программа продолжает работу.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

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