Написать программу ввода вывода вектора. Найти количество положительных, отрицательных и нулевых элементов, и - C#
Формулировка задачи:
Дана задача: написать программу ввода вывода вектора (под вектором имеется ввиду массив). Найти количество положительных, отрицательных и нулевых элементов, используя оператор “switch”.
С последующим выводом данных на экран. Ввод размерности вектора осуществляется в отдельной функции.
Можно ли как-то в case задать диапазон значений? Если у меня рандом чисел будет от -10 000 до 10 000, то как быть? Не писать же 20 000 case.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace _3
{
class Program
{
static void Main(string[] args)
{
int sumPos = 0, sumNeg = 0, sumNull = 0;
int razmer = InputArr();
int[] arr = new int[razmer];
Random rand = new Random();
for (int i = 0; i < arr.Count(); i++)
{
arr[i] = rand.Next(-50, 50);
Console.Write(arr[i] + " ");
}
for (int i = 0; i < arr.Count(); i++)
{
switch (arr[i])
{
case -1:
sumNeg++;
break;
case 1:
sumPos++;
break;
case 0:
sumNull++;
break;
}
}
Console.Write("\nКоличество положительных элементов: {0}", sumPos);
Console.Write("\nКоличество отрицательных элементов: {0}", sumNeg);
Console.Write("\nКоличество нулевых элементов: {0}", sumNull);
Console.ReadLine();
}
static int InputArr()
{
Console.Write("Введите размер вектора: ");
int vector = Int32.Parse(Console.ReadLine());
return vector;
}
}
}Решение задачи: «Написать программу ввода вывода вектора. Найти количество положительных, отрицательных и нулевых элементов, и»
textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication9
{
class Program
{
static void Main(string[] args)
{
int sumPos = 0, sumNeg = 0, sumNull = 0;
int razmer = InputArr();
int[] arr = new int[razmer];
Random rand = new Random();
for (int i = 0; i < arr.Count(); i++)
{
arr[i] = rand.Next(-50, 50);
Console.Write(arr[i] + " ");
}
int[] newarr = new int[razmer];
for (int i = 0; i < arr.Count(); i++)
{
if (arr[i] > 0) newarr[i] = 1;
else if (arr[i] < 0) newarr[i] = -1;
else if (arr[i] == 0) newarr[i] = 0;
switch (newarr[i])
{
case -1:
sumNeg++;
break;
case 1:
sumPos++;
break;
case 0:
sumNull++;
break;
}
}
Console.Write("\nКоличество положительных элементов: {0}", sumPos);
Console.Write("\nКоличество отрицательных элементов: {0}", sumNeg);
Console.Write("\nКоличество нулевых элементов: {0}", sumNull);
Console.ReadLine();
}
static int InputArr()
{
Console.Write("Введите размер вектора: ");
int vector = Int32.Parse(Console.ReadLine());
return vector;
}
}
}