Предмет: Информатика, автор: OMEE

Двумерный массив. Найти для каждой из трёх заданных прямоугольных матриц сумму квадратов её элементов, произведение положительных элементов, минимальный элемент, максимальный элемент и номера строки и столбца, на пересечении которых он находится. C#

Ответы

Автор ответа: hagadf
1

Чтобы найти сумму квадратов элементов двумерного массива, можно использовать вложенный цикл для прохождения по каждому элементу массива и просуммировать квадраты этих элементов:

int sumOfSquares = 0;

for (int i = 0; i < array.GetLength(0); i++)

{

   for (int j = 0; j < array.GetLength(1); j++)

   {

       sumOfSquares += array[i,j] * array[i,j];

   }

}

Чтобы найти произведение положительных элементов, можно использовать аналогичный цикл, но при каждой итерации проверять, является ли текущий элемент положительным и если да, умножать его на общее произведение:

int positiveProduct = 1;

for (int i = 0; i < array.GetLength(0); i++)

{

   for (int j = 0; j < array.GetLength(1); j++)

   {

       if (array[i,j] > 0)

           positiveProduct *= array[i,j];

   }

}

Для нахождения минимального и максимального элементов и их координаты можно создать две переменные, сохраняющие значения минимума и максимума и две переменные для

сохранения их координат. Использовать вложенный цикл для итерации по элементам массива и для каждого элемента проверять его значение с минимумом и максимумом. Если найдено больше или меньше значение, оно заменяет соответствующую переменную и координаты тоже обновляются

int minValue = int.MaxValue;

int maxValue = int.MinValue;

int minX = -1;

int minY = -1;

int maxX = -1;

int maxY = -1;

for (int i = 0; i < array.GetLength(0); i++)

{

   for (int j = 0; j < array.GetLength(1); j++)

   {

       if (array[i,j] > maxValue)

       {

           maxValue = array[i,j];

           maxX = i;

           maxY = j;

       }

       if (array[i,j] < minValue)

       {

           minValue = array[i,j];

           minX = i;

           minY = j;

       }

   }

}

это не более, чем один из возможных способов решения задачи. Для более эффективного решения можно использовать другой алгоритм.

Похожие вопросы