Дана целочисленная прямоугольная матрица. Найти номер первой из строк, содержащих хотя бы один положительный элемент. - C (СИ)
Формулировка задачи:
Дана целочисленная прямоугольная матрица. Найти номер первой из строк, содержащих хотя бы один положительный элемент.
Решение задачи: «Дана целочисленная прямоугольная матрица. Найти номер первой из строк, содержащих хотя бы один положительный элемент.»
textual
Листинг программы
#include <stdio.h> void main() { int i,j,rows,cols,plus,row_plus,check=0; srand(time(NULL)); printf("Vvedite razmernost matricy.\nStrok:"); scanf("%d", &rows); printf("Stolbcow:"); scanf("%d", &cols); int m[rows][cols]; for(i=0; i<rows; i++) for(j=0; j<cols; j++) { m[i][j]=rand() % 100 + (-50); // Для генерирование чисел от -50 до 50 /* Или если вводить с клавиатуры printf("[%d][%d]=", i+1,j+1); scanf("%d",&m[i][j]); */ if (check==0) if (m[i][j]>0) { plus=m[i][j]; row_plus=i; check=1; } } for(i=0; i<rows; i++) { for(j=0; j<cols; j++) printf("%d\t", m[i][j]); printf("\n"); } printf("\nStroka s pervim pologitelnim elementom (%d) - #%d\n", plus,row_plus+1); system("pause"); }
Объяснение кода листинга программы
- Подключение стандартной библиотеки ввода-вывода.
- Инициализация генератора случайных чисел.
- Ввод количества строк матрицы.
- Ввод количества столбцов матрицы.
- Создание матрицы целых чисел.
- Генерация случайных чисел от -50 до 50 для каждой ячейки матрицы.
- Установка начального значения для переменных, которые отслеживают первую строку с положительным элементом.
- Проверка каждого элемента матрицы на положительность.
- Если найден положительный элемент, то сохраняется его значение и номер строки.
- Вывод содержимого матрицы.
- Вывод сообщения с номером первой строки, содержащей положительный элемент.
- Ожидание нажатия клавиши для продолжения работы программы.