Информатика, вопрос задал slavasemashkov89 , 6 лет назад

Дан двумерный массив размером n*m, заполненный случайным образом (-100,100). (язык C#)
ВЫПОЛНИТЬ ЛЮБЫЕ 3-4 задания из 9

1. Заменить максимальный по модулю элемент каждой строки на противоположный по знаку.
2. Определить в нем разность между средним арифметическим элементов массива и максимальным элементом массива.
3. Найти строку с минимальной суммой и в ней максимальный элемент.
4. Заменить максимальный элемент каждой строки нулем
5. Поменять местами второй и предпоследний столбцы.
6. Заменить максимальный элемент каждого столбца нулем
7. Найти среднее арифметическое элементов, принадлежащих первой строке, последней строке, первому столбцу и последнему столбцу.
8. Заменить все элементы массива, кратные трем нулем
9. Вывести индексы элементов, кратных 5


restIess: По функциям если раскидаю задания, разберешься как это использовать?
slavasemashkov89: Попробую
restIess: А версия шарпа у тя какая стоит?
slavasemashkov89: в Visual 2019
restIess: Ну туда можно любой поставить, кортежи там работают?
slavasemashkov89: Да

Ответы на вопрос

Ответил restIess
1

using System;

namespace restless

{

   class Program

   {

       static void PrintMatrix(int[,] matr, int n, int m)

       {

           for (int i = 0; i < n; i++)

           {

               for (int j = 0; j < m; j++)

               {

                   Console.Write($"{matr[i, j]} ");

               }

               Console.WriteLine();

           }

       }

       static void Main()

       {

           int n = 3, m = 5;

           int[,] matrix = new int[n, m];

           Random rnd = new Random();

           //заполняем матрицу

           Console.WriteLine("Исходная матрица: ");

           for (int i = 0; i < n; i++)

           {

               for (int j = 0; j < m; j++)

               {

                   matrix[i, j] = rnd.Next(-100, 100);

                   Console.Write($"{matrix[i, j]} ");

               }

               Console.WriteLine();

           }

           Console.WriteLine();

           //9 номер

           Console.WriteLine("Индексы элементов, кратных 5: ");

           for (int i = 0; i < n; i++)

           {

               for (int j = 0; j < m; j++)

               {

                   if (matrix[i, j] % 5 == 0)

                       Console.WriteLine($"i = {i} j = {j} ");

               }

           }

           Console.WriteLine();

           //7 номер

           int _sum = 0;

           for (int i = 0; i < m; i++)

           {

               _sum += matrix[0, i];

           }

           Console.WriteLine($"Среднее арифметическое 1 строки: {(float)_sum / m}");

           _sum = 0;

           for (int i = 0; i < m; i++)

           {

               _sum += matrix[n-1, i];

           }

           Console.WriteLine($"Среднее арифметическое последней строки: {(float)_sum / m}");

           _sum = 0;

           for (int i = 0; i < n; i++)

           {

               _sum += matrix[i, 0];

           }

           Console.WriteLine($"Среднее арифметическое 1 столбца: {(float)_sum / m}");

           _sum = 0;

           for (int i = 0; i < n; i++)

           {

               _sum += matrix[i, m-1];

           }

           Console.WriteLine($"Среднее арифметическое последнего столбца: {(float)_sum / m}\n");

           //5 номер

           for (int i = 0; i < n; i++)

           {

               (matrix[i, 1], matrix[i, m - 2]) = (matrix[i, m - 2], matrix[i, 1]);

           }

           Console.WriteLine("Матрица после перестановки 2 и предпоследнего столбца: ");

           PrintMatrix(matrix, n, m);

           //вернем матрицу к изначальному виду

           for (int i = 0; i < n; i++)

           {

               int temp = matrix[i, 1];

               matrix[i, 1] = matrix[i, m - 2];

               matrix[i, m - 2] = temp;

           }

           Console.WriteLine();

           //номер 8  

           for (int i = 0; i < n; i++)

           {

               for (int j = 0; j < m; j++)

               {

                   if (matrix[i, j] % 3 == 0)

                       matrix[i, j] = 0;

               }

           }

           Console.WriteLine("Матрица после замены элементов кратных 3 на нули: ");

           PrintMatrix(matrix, n, m);

       }

   }

}

Приложения:

slavasemashkov89: Спасибо
Новые вопросы