Увеличить меньший элемент расположенный в одной строке матрицы с максимальным - 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();
        }
    }
}

Оцени полезность:

9   голосов , оценка 4.222 из 5
Похожие ответы