Найти максимальное значение среди всех элементов матрицы, расположенных в отмеченных столбцах - C (СИ)
Формулировка задачи:
Дана целочисленная матрица A(M,N), где М- четно.. Столбец назовем отмеченным, если в нем больше половины элементов являются числами Фибоначчи. Найти максимальное значение среди всех элементов, расположенных в отмеченных столбцах. (Члены матрицы вводятся с клавиатуры)
Решение задачи: «Найти максимальное значение среди всех элементов матрицы, расположенных в отмеченных столбцах»
textual
Листинг программы
- #include <stdio.h>
- #include <stdlib.h>
- #define M 6
- #define N 5
- int Matr[M][N];
- /* Проверка, является ли n числом Фибоначчи */
- int isFib(int n)
- {
- int c=1, p=1,q;
- while (1)
- {
- if (c == n) return 1;
- if (c > n) return 0;
- q=c;
- c=c+p;
- p=q;
- }
- }
- int isMark(int k)
- {
- int i,c=0;
- for (i=0; i<M; i++)
- if (isFib(Matr[i][k])) c++;
- return (c > (M/2));
- }
- int main(int argc, char *argv[])
- {
- int i,j,p=0,max;
- /* ввод матрицы */
- for (i=0; i<M; i++)
- {
- for (j=0; j<N; j++)
- {
- printf("M[%d,%d]=",i,j);
- scanf("%d",&Matr[i][j]);
- }
- printf("\n");
- }
- /* Поиск максимума в отмеченных */
- for (j=0; j<N; j++)
- if (isMark(j))
- {
- if (p==0) max=Matr[0][j];
- for (i=0; i<M; i++)
- if (Matr[i][j] > max) max=Matr[i][j];
- p=1;
- }
- /* Вывод результата */
- printf("max=%d\n",max);
- system("PAUSE");
- return 0;
- }
Объяснение кода листинга программы
- Объединение двух чисел с помощью операции сложения.
- Использование условного оператора if для проверки условия.
- Использование цикла for для выполнения повторяющихся действий.
- Использование функции scanf для ввода данных в программу.
- Использование функции printf для вывода данных из программы.
- Создание матрицы с помощью оператора присваивания.
- Использование функции isMark для проверки, является ли номер столбца отмеченным.
- Использование функции isFib для проверки, является ли число числом Фибоначчи.
- Использование условного оператора if для проверки, является ли максимальное значение равным последнему числу.
- Использование оператора присваивания для обновления значения максимального числа.
- Использование функции system для приостановки выполнения программы.
- Возвращение значения 0 функцией main, что означает успешное выполнение программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д