1. Дан двумерный массив размером n*m, заполненный случайными числами. Найти среднее арифметическое элементов, принадлежащих первой строке, последней строке, первому столбцу и последнему столбцу.

2. Заполнить массив n*n по правилу:

Дан двумерный массив размером n*m, заполненный случайным образом. Заменить отрицательный элемент каждого столбца нулем C#

Ответы

Ответ дал: drainer1
1

Программа создана с использованием двух классов в разных .cs .

1) первый, неосновной класс sample:

using System;

using System.Collections.Generic;

namespace test

{

     class sample

   {  

       public static void WrongData()

       {

           Console.WriteLine("Введите корректные значения.");

           Console.ReadLine();

       }

       public static bool test;

       public static uint Testing(string Outgoing)

       {

           if(! (uint.TryParse(Outgoing, out uint OutgoingX2) && OutgoingX2 >= 1 && OutgoingX2 <= 100) )

           {

               WrongData();

               test = false;

           }

           else

           {

               test = true;

           }

           var Number = OutgoingX2;

           return Number;

       }

   }

}

2) второй, основной класс Program:

using System;

using System.Collections.Generic;

namespace test

{

   class Program

   {

Console.SetBufferSize(170, 90);

string NString, MString;

           Console.WriteLine("Введите количество строк массива (n) ."); NString = Console.ReadLine();

           sample.Testing(NString); if (sample.test == false) return;

           Console.WriteLine("Введите количество столбцов массива (m) ."); MString = Console.ReadLine();

           sample.Testing(MString); if (sample.test == false) return;

           uint n = sample.Testing(NString), m = sample.Testing(MString);

           var Array = new int[n, m];

           var Randomizer = new Random();

           int RandomNumber;

           // заполнение массива:

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

           {

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

               {

                   RandomNumber = Randomizer.Next();

                   if (RandomNumber < 0) RandomNumber = 0;

                   Array[i, j] = RandomNumber;

               }

           }

           int FirstSum = 0, SecondSum = 0, ThirdthSum = 0, FourthSum = 0;

           // Среднее арифметическое для 1 строки:

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

           {

               FirstSum += Array[1, j];

           }

           uint FirstAverage = (uint) FirstSum / m;

           // Среднее арифметическое для последней строки:

           uint ms = --n;

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

           {

               SecondSum += Array[ms, j];

           }

           uint SecondAverage = (uint)SecondSum / m;

           

           // Среднее арифметическое для первого столбца:

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

           {

               ThirdthSum += Array[i, 1];

           }

           uint ThirdAverage = (uint)ThirdthSum / n;

           // Среднее арифметическое для последнего столбца:

           uint ns = --m;

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

           {

               FourthSum += Array[i, ns];

           }

           uint FourthAverage = (uint)FourthSum / m;

           Console.WriteLine($"Среднее арифм. для: 1) первой строки: {FirstAverage} ; 2) последней строки: {SecondAverage} ; 3) первого столбца: {ThirdAverage} ; 4) последнего столбца: {FourthAverage}.");

           Console.ReadLine();

       }

   }

}

Вас заинтересует