Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Определить матрицу (двумерный массив) и еë заполнить случайными значениями.

Юра Латышов Ученик (99), на голосовании 2 дня назад
Определить матрицу (двумерный массив) и еë заполнить случайными значениями. Построить вектор B, который возвращает - сумму положительных элементов в каждом столбце матрицы.
Голосование за лучший ответ
Ксения Райт Высший разум (106568) 1 месяц назад
Берём матрицу размера m×n с целочисленными элементами из диапазона [a;b]. Если матрица гигантская, то выводить её на экран глупо (если только не в каком нибудь спецформате !), но лучше просто сформировать матрицу такого размера, чтобы она вписывалась в экран. Остальное - дело техники:
 using System;  
namespace New_Project
{
class Program
{
public static int [] f(int [,] arr)
{
int k, l, m = arr.GetLength(0),
n = arr.GetLength(1);
int [] B = new int [m];
for (k = 0; k < m; ++k)
{
B[k] = 0;
for (l = 0; l < n; ++l)
if (arr[k,l] > 0) B[k] += arr[k,l];
}
return B;
}
public static void Main()
{ int a, b, c, k, l, m, n;
Console.Write("a b m n: ");
var s = Console.ReadLine().Split();
a = int.Parse(s[0]);
b = int.Parse(s[1]);
c = b + 1 - a;
m = int.Parse(s[2]);
n = int.Parse(s[3]);
Console.WriteLine("Матрица А:");
Random rnd = new Random();
int [,] A = new int [m,n];
int [] B = new int [m];
for (k = 0; k < m; ++k)
{
for (l = 0; l < n; ++l)
{
A[k,l] = a + rnd.Next() % c;
Console.Write("{0,6:d}", A[k,l]);
}
Console.WriteLine();
}
B = f(A);
Console.WriteLine("Вектор В:");
for (k = 0; k < m; ++k)
Console.WriteLine((k + 1) + ") " + B[k]);
}
}
}
В принципе компоненты вектора B, возвращаемого функцией f (аргументом которой является сформированная рандомная матрица А), можно напечатать и справа от матрицы А через разделитель, а не отдельной колонкой, но это уж как Вам приспичит...
Похожие вопросы