Получить новую матрицу с помощью деления всех элементов исходной матрицы на ее наибольший по модулю элемент - C#
Формулировка задачи:
Задан двумерный массив А[5,10]. Получить новую матрицу с помощью деления всех элементов исходной матрицы на ее наибольший по модулю элемент
Решение задачи: «Получить новую матрицу с помощью деления всех элементов исходной матрицы на ее наибольший по модулю элемент»
textual
Листинг программы
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
double[,] mass = new double[5, 10];
double[,] mass2 = new double[5, 10];
Random rnd = new Random();
Console.WriteLine("Исходная матрица: ");
//заполнение исходного массива случайными значениями:
for (int i = 0; i < 5; i++)
{
for (int j = 0; j < 10; j++)
{
mass[i, j] = rnd.Next(50);
Console.Write(mass[i, j]+" ");
}
Console.WriteLine(""); //перевод на новую строку
}
Double Max = int.MinValue;
for (int i = 0; i < 5; i++) //определение максимального по модулю числа в матрице
for (int j = 0; j < 10; j++)
if (Math.Abs(mass[i, j]) > Max) Max = mass[i, j];
if (Max == 0)
{
Console.WriteLine("Деление на 0 невозможно!");
return;
}
Console.WriteLine("\nВторая матрица: ");
for (int i = 0; i < 5; i++)
{
for (int j = 0; j < 10; j++)
{
mass2[i, j] = (mass[i, j] / Max);
Console.Write("{0:F2}",mass2[i, j]); //F2- округление до 2х знаков после запяой
Console.Write(" "); //пробел между числами в строке
}
Console.WriteLine(""); //перевод на новую строку
}
Console.ReadKey();
}
}
}