Поделитесь своими знаниями, ответьте на вопрос:
Написать 4 задачки с массивом на С++ 1. Дан двумерный массив размером n×m, заполненный случайными числами. Определить, есть ли в данном массиве строка, содержащая больше положительных элементов, чем отрицательных. 2. Дан двумерный массив размером n×m. Удалить все столбцы, в которых первый элемент больше последнего 3. Дан двумерный массив размерностью 5×6, заполненный целыми числами с клавиатуры. Сформировать одномерный массив, каждый элемент которого равен наибольшему по модулю элементу соответствующего столбца. 4. Задан массив действительных чисел размерности 10х10. Найти суммы элементов каждой строки, произведения элементов каждого столбца, и максимальный элемент главной диагонали (подсказка: все элементы, для которых номер строки совпадает с номером столбца
internal class Program
{
private static void Main(string[] args)
{
int n = 8;
int m = 10;
int[,] matrix = createRandomMatrix(n, m);
writeMatrix(matrix);
for (int i = 0; i < m; i++)
{
int count = 0;
for (int j = 0; j < n; j++)
{
if (matrix[j, i] >= 0) count++;
else count--;
}
if (count == 0) Console.WriteLine($"Столбец номер {i+1} с одинаковым кол-вом положительных и отрицательных элементов.");
}
}
private static int[,] createRandomMatrix(int n, int m)
{
Random rand = new Random();
int[,] matrix = new int[n, m];
for (int i = 0; i < n; i++)
{
for (int j = 0; j < m; j++)
{
matrix[i, j] = rand.Next(-10, 11);
}
}
return matrix;
}
private static void writeMatrix(int[,] matrix )
{
string row = "";
int[] tempRow = new int[matrix.GetLength(1)];
for (int i = 0; i < matrix.GetLength(0); i++)
{
for (int j = 0; j < matrix.GetLength(1); j++)
{
tempRow[j] = matrix[i, j];
}
row += string.Join("\t", tempRow) + "\n";
}
Console.WriteLine(row);
}
}
Объяснение: