Вопрос задан 18.06.2023 в 01:08. Предмет Информатика. Спрашивает Деркачёв Никита.

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

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

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Смирнов Евгений.

Программа создана с использованием двух классов в разных .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();

       }

   }

}

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

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

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

1. Создать переменные для хранения суммы элементов и количества элементов в каждой из указанных строк и столбцов. 2. Пройти по каждому элементу в первой строке и добавить его значение к сумме элементов первой строки. Увеличить счетчик элементов первой строки на 1. 3. Повторить шаг 2 для последней строки, первого столбца и последнего столбца. 4. Вычислить среднее арифметическое для каждой строки и столбца, разделив сумму элементов на количество элементов. 5. Вернуть полученные значения среднего арифметического.

Пример кода на языке C# для решения этой задачи:

```csharp int[,] array = new int[n, m]; // двумерный массив размером n x m, заполненный случайными числами

int sumFirstRow = 0; int countFirstRow = 0; for (int i = 0; i < m; i++) { sumFirstRow += array[0, i]; countFirstRow++; }

int sumLastRow = 0; int countLastRow = 0; for (int i = 0; i < m; i++) { sumLastRow += array[n - 1, i]; countLastRow++; }

int sumFirstColumn = 0; int countFirstColumn = 0; for (int i = 0; i < n; i++) { sumFirstColumn += array[i, 0]; countFirstColumn++; }

int sumLastColumn = 0; int countLastColumn = 0; for (int i = 0; i < n; i++) { sumLastColumn += array[i, m - 1]; countLastColumn++; }

double averageFirstRow = (double)sumFirstRow / countFirstRow; double averageLastRow = (double)sumLastRow / countLastRow; double averageFirstColumn = (double)sumFirstColumn / countFirstColumn; double averageLastColumn = (double)sumLastColumn / countLastColumn;

// Возвращаем полученные значения среднего арифметического return new double[] { averageFirstRow, averageLastRow, averageFirstColumn, averageLastColumn }; ```

Примечание: В коде предполагается, что переменные `n` и `m` содержат размеры массива, а массив `array` уже заполнен случайными числами.

2. Заменить отрицательный элемент каждого столбца нулем

Для замены отрицательного элемента каждого столбца двумерного массива нулем в языке C# можно использовать следующий код:

```csharp int[,] array = new int[n, m]; // двумерный массив размером n x m, заполненный случайными числами

for (int j = 0; j < m; j++) { for (int i = 0; i < n; i++) { if (array[i, j] < 0) { array[i, j] = 0; } } }

// Выводим измененный массив for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { Console.Write(array[i, j] + " "); } Console.WriteLine(); } ```

Примечание: В коде предполагается, что переменные `n` и `m` содержат размеры массива, а массив `array` уже заполнен случайными числами.

0 0

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

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос