Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <random>
- #include <ctime>
- #include <locale.h>
- #define N 7
- int HowMax(int M[N][N], int max);
- void change(int M[N][N], int max);
- int main(void)
- {
- setlocale(LC_ALL, "Russian");
- int Matrix[N][N];
- int max = 0;
- // Чтобы при каждом запуске генерировались рандомные значения
- srand(time(0));
- printf("\tЛабораторная работа №6\n\n");
- // Заполняем матрицу числами от 1 до 9 и выводим её в консоль
- printf("Изначальная матрица: \n");
- for (int i = 0; i < 7; i++)
- {
- for (int j = 0; j < 7; j++)
- {
- Matrix[i][j] = 1 + rand() % 9;
- printf("%2.d", Matrix[i][j]);
- }
- printf("\n");
- }
- printf("\n");
- // Узнаем максимальное значение в правом треугольнике
- max = HowMax(Matrix, max);
- printf("Максимальное значение в правом треугольнике: %d\n\n", max);
- // Заполняем правый треугольних максимальными значениями
- change(Matrix, max);
- // Выводим матрицу после изменений
- printf("Матрица после выполнения алгоритма: \n");
- for (int i = 0; i < 7; i++)
- {
- for (int j = 0; j < 7; j++)
- {
- printf("%2.d", Matrix[i][j]);
- }
- printf("\n");
- }
- }
- int HowMax(int M[N][N], int max)
- {
- for (int i = 6; i >= 3; i--) {
- for (int j = 6; j >= i; j--)
- {
- if (M[i][j] > max)
- {
- max = M[i][j];
- }
- }
- }
- for (int i = 2; i >= 0; i--) {
- for (int j = 6; j >= 6 - i; j--) {
- if (M[i][j] > max)
- {
- max = M[i][j];
- }
- }
- }
- return max;
- }
- void change(int M[N][N], int max)
- {
- for (int i = 6; i >= 3; i--) {
- for (int j = 6; j >= i; j--)
- {
- M[i][j] = max;
- }
- }
- for (int i = 2; i >= 0; i--) {
- for (int j = 6; j >= 6 - i; j--)
- {
- M[i][j] = max;
- }
- }
- }
Add Comment
Please, Sign In to add comment