[Решено] Уплотнить заданную матрицу, удаляя из нее строки и столбцы,

заполненные нулями.

Найти...

Уплотнить заданную матрицу, удаляя из нее строки и столбцы,

заполненные нулями.

Найти номер первой из строк, содержащих хотя бы один

положительный элемент. И напиши это на c#

(1) Смотреть ответ
Данный ответ сгенерирован автоматически нейросетью, если Вы не нашли ответ на свой вопрос, попробуйте спросить нейросеть самостоятельно, для получения необходимого результата.
Это бесплатно.
Спросить нейросеть бесплатно

Ответ нейросети NoxAI

Мне потребовалось уплотнить заданную матрицу, удаляя из нее строки и столбцы, заполненные нулями.​ Затем было необходимо найти номер первой из строк, содержащих хотя бы один положительный элемент.​ Все это я реализовал на языке C#.​ Для начала, я создал двумерный массив и заполнил его случайными числами.​ Затем я прошелся по каждой строке и столбцу матрицы, и если все элементы в текущей строке или столбце были равны нулю, я исключал их из дальнейшего анализа.​ Для этого я создал два списка — rowsToDelete и columnsToDelete. В цикле я проверял каждую строку на наличие положительных элементов.​ Если находился хотя бы один положительный элемент, я сохранял номер этой строки в списке rowsToDelete.​ Таким образом, в конце цикла в списке rowsToDelete были сохранены номера всех строк, содержащих положительные элементы.​ Аналогичным образом я выполнял проверку для каждого столбца, сохраняя номера столбцов c положительными элементами в списке columnsToDelete.​ После того, как я получил списки строк и столбцов, которые нужно удалить, я создал новую матрицу размером, уменьшенным на количество строк и столбцов, которые требовалось удалить, и скопировал в нее только те элементы из исходной матрицы, которые не попали в списки на удаление.​
В конце программы я вывел номер первой строки, содержащей положительный элемент, если таковая была найдена.​ Если все строки матрицы содержали только нулевые элементы, я выводил сообщение об отсутствии положительных элементов.​Вот как это выглядит на языке C#⁚

csharp
using System;
using System.​Collections.​Generic;

class Program
{
static void Main(string[] args)
{
int[,] matrix new int[5, 5];
Random random new Random;

// Заполнение матрицы случайными числами
for (int i 0; i < matrix.​GetLength(0); i ) { for (int j 0; j < matrix.GetLength(1); j ) { matrix[i, j] random.​Next(-10, 10); } }

Читайте также  1. Родительский комитет закупил 30 пазлов для подарков детям на окончание учебного года, из них 12 с картинками известных художников и 18 с изображениями животных. Подарки распределяются случайным образом. Найдите вероятность того, что Вове достанется пазл с животным

2. Найдите вероятность того, что случайно выбранное трёхзначное число делится на 33.

// Поиск строк и столбцов на удаление List rowsToDelete new List;
List columnsToDelete new List;

for (int i 0; i < matrix.​GetLength(0); i ) { bool containsPositiveElement false;
for (int j 0; j < matrix.​GetLength(1); j ) { if (matrix[i, j] > 0)
{
containsPositiveElement true;
break;
}
}

if (!​containsPositiveElement)
{
rowsToDelete.​Add(i);
}
}
for (int j 0; j < matrix.GetLength(1); j ) { bool containsPositiveElement false; for (int i 0; i < matrix.GetLength(0); i ) { if (matrix[i, j] > 0)
{
containsPositiveElement true;
break;
}
}

if (!containsPositiveElement)
{
columnsToDelete.​Add(j);
}
}

// Удаление строк и столбцов из матрицы
int[,] newMatrix new int[matrix.GetLength(0) — rowsToDelete.​Count, matrix.​GetLength(1) ― columnsToDelete.​Count];
int newRow 0;

for (int i 0; i < matrix.​GetLength(0); i ) { if (!​rowsToDelete.​Contains(i)) { int newColumn 0; for (int j 0; j < matrix.​GetLength(1); j ) { if (!​columnsToDelete.​Contains(j)) { newMatrix[newRow, newColumn] matrix[i, j]; newColumn ; } } newRow ; } } bool positiveElementFound false; for (int i 0; i < newMatrix.GetLength(0); i ) { for (int j 0; j < newMatrix.​GetLength(1); j ) { if (newMatrix[i, j] > 0)
{
Console.​WriteLine($″Номер первой строки с положительным элементом⁚ {i 1}″);
positiveElementFound true;
break;
}
}

if (positiveElementFound)
{
break;
}
}

if (!positiveElementFound)
{
Console.​WriteLine(″Нет строк с положительными элементами″);
}
}
}

Я надеюсь, что мой опыт поможет вам в решении вашей задачи по уплотнению матрицы и поиску строки с положительным элементом на языке C#.​ Удачи!

Оцените статью
Nox AI
Добавить комментарий