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