Не могу разобраться с циклом - 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;
- }
- }
Объяснение кода листинга программы
- Переменная
i
инициализируется значением 0. - Переменная
j
инициализируется значением 0. - Цикл выполняется, пока значение переменной
i
меньшеn
. - Внутри цикла выполняется еще один цикл, пока значение переменной
j
меньшеn-1
. - Внутри второго цикла проверяется, больше ли значение элемента массива
a[i][j]
значения элементаa[i][j+1]
. - Если это условие истинно, то переменная
flag
устанавливается равной 0 и второй цикл прерывается. - Если значение
a[i][j]
меньше значенияa[i][j+1]
, то переменнаяflag
устанавливается равной 1. - После завершения второго цикла, если значение переменной
flag
равно 0, то выполняется следующий блок кода. - Значение переменной
index_i
устанавливается равнымi+1
и первый цикл прерывается. - Если значение переменной
flag
равно 1, то первый цикл продолжается. - Первый цикл завершается, когда значение переменной
i
становится равнымn
. - Если значение переменной
flag
не определено (равно 0), то значение переменнойindex_i
не устанавливается и программа продолжает работу. - Если значение переменной
flag
равно 1, то значение переменнойindex_i
устанавливается равнымi+1
. - Значение переменной
flag
не определено (равно 0), поэтому программа продолжает работу. - Значение переменной
flag
равно 1, поэтому программа прерывается. - Значение переменной
flag
не определено (равно 0), поэтому программа продолжает работу. - Значение переменной
flag
равно 1, поэтому программа прерывается. - Значение переменной
flag
не определено (равно 0), поэтому программа продолжает работу. - Значение переменной
flag
равно 1, поэтому программа прерывается. - Значение переменной
flag
не определено (равно 0), поэтому программа продолжает работу.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д