Увеличить меньший элемент расположенный в одной строке матрицы с максимальным - C#
Формулировка задачи:
Здравствуйте, свалилась на меня замечательная задачка и я в ней запутался. Люди добрые, помогите!)
Дана матрица A размером 5 × 7. Для каждой строки сравнить
элементы, расположенные непосредственно перед и после максимального
элемента этой строки, и меньший из них увеличить в 2 раза.
Если максимальный элемент является первым или последним в стро-
ке, то увеличить в 2 раза только один соседний с максимальным эле-
мент.
Данные вписывать самому.
Как можно проще - желательно)
Решение задачи: «Увеличить меньший элемент расположенный в одной строке матрицы с максимальным»
textual
Листинг программы
- using System;
- namespace ConsoleApplication5
- {
- class Program
- {
- static void Main(string[] args)
- {
- int i, j;
- int[,] A = new int[5, 7];
- int max_index = 0;
- Console.WriteLine("Заполните матрицу");
- for (i = 0; i < 5; i++)
- {
- for (j = 0; j < 7; j++)
- {
- Console.Write("Введите элемент : [{0},{1}] ",i,j);
- A[i, j] = int.Parse(Console.ReadLine());
- }
- }
- Console.WriteLine("Заданная матрица : ");
- for (i = 0; i < 5; i++)
- {
- for (j = 0; j < 7; j++)
- {
- Console.Write(A[i, j] + " ");
- }
- Console.WriteLine();
- }
- for (i = 0; i < 5; i++)
- {
- int max = 0;
- for (j = 0; j < 7; j++)
- {
- if (A[i,j] > max)
- {
- max = A[i, j];
- max_index = j;
- }
- }
- if (max_index == 6)
- {
- A[i, max_index - 1] *= 2;
- }
- if (max_index == 0)
- {
- A[i, max_index + 1] *= 2;
- }
- if (max_index != 6 && max_index != 0)
- {
- if (A[i, max_index + 1] > A[i, max_index - 1])
- {
- A[i, max_index - 1] *= 2;
- }
- else if (A[i, max_index + 1] < A[i, max_index - 1])
- {
- A[i, max_index + 1] *= 2;
- }
- }
- }
- Console.WriteLine("Преобразованная матрица : ");
- for (i = 0; i < 5; i++)
- {
- for (j = 0; j < 7; j++)
- {
- Console.Write(A[i,j]+" ") ;
- }
- Console.WriteLine();
- }
- Console.ReadKey();
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д