Массив: Вывести номера первой и последней строк, содержащих только положительные элементы. - C (СИ)
Формулировка задачи:
Дана таблица 5x10 заполненная целыми числами. Вывести номера первой и последней строк, содержащих только положительные элементы. Если таких строк нет, то вывести 0.
Я конечно понимаю, что прошу многое, но я совершенно не понимаю как их делать(
Решение задачи: «Массив: Вывести номера первой и последней строк, содержащих только положительные элементы.»
textual
Листинг программы
#include <stdio.h> #include <locale.h> #define N 5 #define M 10 int main(void){ setlocale(LC_ALL,"RU"); int i,j,first=0, last=0; int A[N][M] = {{3,24,45,11,0,67,23,19,59,1045},{76,54,6,378,2,1024,987,23968,1,34},{674,21,45,63,2,43,675,9364,-5647,0},{5764,867,1243,98,4,768,3452,564,-9,1},{5643,4,34,564,5784,23,1,7564,32,76}}; for(i = 0; i < N; i++){ for(j = 0; j < M; j++){ if(A[i][j] <= 0)break; } if(j==M){first =i+1; printf("Номер первой строки: %d\n",first); goto m1;} } printf("%d\n",0); return(0); m1: for(i=N-1;i>=0;i--){ for(j=0;j<M;j++){ if(A[i][j]<=0)break; } if(j==M){last=i+1; printf("Номер последней строки: %d\n",last); return(0); } } return(0); }
Объяснение кода листинга программы
В этом коде ищется первая и последняя строки массива, которые содержат только положительные числа. Вот список действий:
- В первой строке определяются размеры массива N и M.
- Затем в цикле перебираются все строки массива.
- В каждой строке в цикле перебираются все элементы.
- Если элемент больше или равен нулю, то цикл прерывается.
- Если после перебора всех элементов цикла не произошло прерывания, то текущая строка является строкой, содержащей только положительные числа.
- После выхода из циклов выводится номер этой строки.
- Затем в цикле перебираются все строки массива в обратном порядке.
- В каждой строке в цикле перебираются все элементы.
- Если элемент больше или равен нулю, то цикл прерывается.
- Если после перебора всех элементов цикла не произошло прерывания, то текущая строка является последней строкой, содержащей только положительные числа.
- После выхода из циклов выводится номер этой строки.
- Код завершается. Список переменных: — N - размер массива по строкам — M - размер массива по столбцам — i, j - индексы текущей строки и столбца — first - номер первой строки, содержащей только положительные числа — last - номер последней строки, содержащей только положительные числа — A[i][j] - элемент массива, который в данный момент проверяется — 0 - признак того, что цикл прервался из-за нахождения отрицательного элемента — M-1 - признак того, что цикл перебора строк завершен — N-1 - признак того, что цикл перебора строк в обратном порядке завершен
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д