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

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

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



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` уже заполнен случайными числами.


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

Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili