Самый правый положительный элемент строки матрицы - C (СИ)
Формулировка задачи:
Подскажите пожалуйста как найти самый правый положительный элемент каждой строки матрицы?
Решение задачи: «Самый правый положительный элемент строки матрицы»
textual
Листинг программы
- #include <stdio.h>
- #include <stdlib.h>
- #include <time.h>
- #define M 5
- #define N 7
- int main()
- {
- int i, j, right, flag, A[M][N];
- srand(time(0));
- for(i = 0; i < M; ++i){
- right = 0;
- flag = 0;
- for(j = 0; j < N; ++j){
- A[i][j] = rand() % 200 - 100;
- printf("%4d", A[i][j]);
- if(A[i][j] > 0)
- flag = 1;
- if(A[i][j] > 0 && j > right)
- right = j;
- }
- if(!flag)
- puts(" This line have not positive elements.");
- else
- printf(" The rightmost positive line item A[%d][%d] = %d\n", i, right, A[i][right]);
- }
- return 0;
- }
Объяснение кода листинга программы
В этом коде ищется самый правый положительный элемент в каждой строке матрицы 5x7, при этом:
- Переменная
i
используется для прохода по строкам матрицы (итерируется от 0 до 4). - Переменная
j
используется для прохода по столбцам матрицы (итерируется от 0 до 6). - Переменная
right
используется для хранения индекса самого правого положительного элемента в строке. - Переменная
flag
используется для проверки наличия положительных элементов в строке (итерируется от 0 до 6). - Переменная
A[i][j]
используется для хранения значения элемента матрицы, инициализируется случайным числом от -100 до 100. - Выводится значение
A[i][j]
с помощью функцииprintf
, при этом выводимое значение округляется до 4 цифр с помощью спецификатора формата%4d
. - Если
A[i][j]
больше 0, тоflag
устанавливается в 1. - Если
A[i][j]
больше 0 иj
большеright
, тоright
устанавливается равнымj
. - После завершения прохода по всем столбцам, если
flag
равен 0, то выводится сообщениеThis line have not positive elements.
с помощью функцииputs
. - Если
flag
не равен 0, то выводится сообщениеThe rightmost positive line item A[%d][%d] = %d\n
с помощью функцииprintf
, при этомi
,right
иA[i][right]
подставляются в соответствующие места в сообщении. - В конце программы возвращается 0, что означает успешное выполнение программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д