Массив: Вывести номера первой и последней строк, содержащих только положительные элементы. - 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 - признак того, что цикл перебора строк в обратном порядке завершен
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д