int[] array = { 10, -5, 3, 2, 0, -1, 8, 0, 10, 3 };
int[] nums = new int[2];
foreach( int i in array)
{
if (i > 0) nums[0] += 1;
else if (i < 0) nums[1] += 1;
}
Console.WriteLine($"Количество положительных элементов массива = {nums[0]}, отрицательных = {nums[1]}");
Console.ReadKey();
Объяснение:
Инициализируем массив целых чисел и массив из двух элементов для кол-ва отрицательных и положительных чисел.
С цикла foreach проходимся по каждому элементу массива и проверяем отрицательный ли он или положительный. Результатом прибавляем единицу в соответствующую ячейку массива для подсчета отрицательных и положительных чисел.
// Внимание! Если программа не работает, обновите версию!
begin
var n:=ReadInteger('Количество строк (столбцов) в массиве:');
Writeln('*** Исходный массив ***');
var a:=MatrRandom(n,n,-50,50);
a.Println(4); Writeln(4*a.ColCount*'-');
var s:=a.ElementsByRow;
Writeln('Сумма элементов массива ',s.Sum);
Writeln('Произведение отрицательных элементов ',
s.Where(t->t<0).Aggregate(BigInteger(1),(p,q)->p*q));
Writeln('Количество положительных элементов ',
s.Where(t->t>0).Count)
end.