Дополнить приложение кодом формирования псевдослучайной последовательности - C#
Формулировка задачи:
Дополнить приложение таким образом, чтобы имелась возможность формирования исходной числовой последовательности состоящих из чисел сформированных генератором случайных чисел.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace практ_задание__3_1
{
class Exceptions
{
public bool pr;
public Exceptions(string[] xp)
{
pr = true;
try
{
for (int i = 0; i < xp.Length; i++)
{
if (double.Parse(xp[i]) % 1 == 0)
pr = true;
else
{ pr = false; break; }
}
}
catch
{
Exception error = new Exception("Введенные данные не являются типами Integer или Double!!!");
throw error;
}
}
public static int getSumNumbers(int[] numbers)
{
int sum = 0;
for (int i = 0; i < numbers.Length; i++)
{
sum += numbers[i];
}
return sum;
}
public static double getSumNumbers(double[] numbers)
{
double sum = 0;
for (int i = 0; i < numbers.Length; i++)
{
sum += numbers[i];
}
return sum;
}
public static int getSrednNumbers(int[] numbers)
{
int sred = 0;
for (int i = 0; i < numbers.Length; i++)
{
sred += numbers[i];
}
return sred / numbers.Length;
}
public static double getSrednNumbers(double[] numbers)
{
double sred = 0;
for (int i = 0; i < numbers.Length; i++)
{
sred += numbers[i];
}
return sred / numbers.Length;
}
public static int getMinNumbers(int[] numbers)
{
int min = numbers[0];
for (int i = 0; i < numbers.Length; i++)
{
if (min > numbers[i]) min = numbers[i];
}
return min;
}
public static double getMinNumbers(double[] numbers)
{
double min = numbers[0];
for (int i = 0; i < numbers.Length; i++)
{
if (min > numbers[i]) min = numbers[i];
}
return min;
}
public static int getMaxNumbers(int[] numbers)
{
int max = numbers[0];
for (int i = 0; i < numbers.Length; i++)
{
if (max < numbers[i]) max = numbers[i];
}
return max;
}
public static double getMaxNumbers(double[] numbers)
{
double max = numbers[0];
for (int i = 0; i < numbers.Length; i++)
{
if (max < numbers[i]) max = numbers[i];
}
return max;
}
public static int getProizNumbers(int[] numbers)
{
int pr = 1;
for (int i = 0; i < numbers.Length; i++)
{
pr *= numbers[i];
}
return pr;
}
public static double getProizNumbers(double[] numbers)
{
double pr = 1;
for (int i = 0; i < numbers.Length; i++)
{
pr *= numbers[i];
}
return pr;
}
}
class Program
{
static void Main(string[] args)
{
string[] str = null;
if (args.Length != 0)
{
Console.WriteLine("Введенная последовательность чисел: " + args.ToString());
str = args;
}
else
if (args.Length == 0)
{
Console.WriteLine("Введите последовательность чисел через пробел: ");
str = Console.ReadLine().Split(' ');
}
int[] mas = new int[str.Length];
double[] mass = new double[str.Length];
try
{
Exceptions ex = new Exceptions(str);
bool pr = ex.pr;
if (pr == false)
{
for (int i = 0; i < str.Length; i++)
{
mass[i] = double.Parse(str[i]);
}
Console.WriteLine("Сумма чисел = " + Exceptions.getSumNumbers(mass));
Console.WriteLine("Произведение чисел = " + Exceptions.getProizNumbers(mass));
Console.WriteLine("Минимальное число = " + Exceptions.getMinNumbers(mass));
Console.WriteLine("Максимальное число = " + Exceptions.getMaxNumbers(mass));
Console.WriteLine("Среднее значение = " + Exceptions.getSrednNumbers(mass));
}
else
{
for (int i = 0; i < str.Length; i++)
{
mas[i] = int.Parse(str[i]);
}
Console.WriteLine("Сумма чисел = " + Exceptions.getSumNumbers(mas));
Console.WriteLine("Произведение чисел = " + Exceptions.getProizNumbers(mas));
Console.WriteLine("Минимальное число = " + Exceptions.getMinNumbers(mas));
Console.WriteLine("Максимальное число = " + Exceptions.getMaxNumbers(mas));
Console.WriteLine("Среднее значение = " + Exceptions.getSrednNumbers(mas));
}
}
catch (Exception err)
{
Console.WriteLine(err.Message);
}
Console.ReadKey();
}
}
}Решение задачи: «Дополнить приложение кодом формирования псевдослучайной последовательности»
textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace практ_задание__3_1
{
class Exceptions
{
public bool pr;
public Exceptions(string[] xp)
{
pr = true;
try
{
for (int i = 0; i < xp.Length; i++)
{
if (double.Parse(xp[i]) % 1 == 0)
pr = true;
else
{ pr = false; break; }
}
}
catch
{
Exception error = new Exception("Введенные данные не являются типами Integer или Double!!!");
throw error;
}
}
public static int getSumNumbers(int[] numbers)
{
int sum = 0;
for (int i = 0; i < numbers.Length; i++)
{
sum += numbers[i];
}
return sum;
}
public static double getSumNumbers(double[] numbers)
{
double sum = 0;
for (int i = 0; i < numbers.Length; i++)
{
sum += numbers[i];
}
return sum;
}
public static int getSrednNumbers(int[] numbers)
{
int sred = 0;
for (int i = 0; i < numbers.Length; i++)
{
sred += numbers[i];
}
return sred / numbers.Length;
}
public static double getSrednNumbers(double[] numbers)
{
double sred = 0;
for (int i = 0; i < numbers.Length; i++)
{
sred += numbers[i];
}
return sred / numbers.Length;
}
public static int getMinNumbers(int[] numbers)
{
int min = numbers[0];
for (int i = 0; i < numbers.Length; i++)
{
if (min > numbers[i]) min = numbers[i];
}
return min;
}
public static double getMinNumbers(double[] numbers)
{
double min = numbers[0];
for (int i = 0; i < numbers.Length; i++)
{
if (min > numbers[i]) min = numbers[i];
}
return min;
}
public static int getMaxNumbers(int[] numbers)
{
int max = numbers[0];
for (int i = 0; i < numbers.Length; i++)
{
if (max < numbers[i]) max = numbers[i];
}
return max;
}
public static double getMaxNumbers(double[] numbers)
{
double max = numbers[0];
for (int i = 0; i < numbers.Length; i++)
{
if (max < numbers[i]) max = numbers[i];
}
return max;
}
public static int getProizNumbers(int[] numbers)
{
int pr = 1;
for (int i = 0; i < numbers.Length; i++)
{
pr *= numbers[i];
}
return pr;
}
public static double getProizNumbers(double[] numbers)
{
double pr = 1;
for (int i = 0; i < numbers.Length; i++)
{
pr *= numbers[i];
}
return pr;
}
}
class Program
{
static void Main(string[] args)
{
int ch;
do
{
Console.WriteLine("Способ ввода:\n1.Рандом\n2.Вручную");
ch = int.Parse(Console.ReadLine());
} while (ch != 1 && ch != 2);
bool b = (ch == 1 ? false : true);
string[] str = null;
if (b)
{
if (args.Length != 0)
{
Console.WriteLine("Введенная последовательность чисел: " + args.ToString());
str = args;
}
else
if (args.Length == 0)
{
Console.WriteLine("Введите последовательность чисел через пробел: ");
str = Console.ReadLine().Split(' ');
}
} else
{
if (args.Length != 0)
{
Console.WriteLine("Введенная последовательность чисел: " + args.ToString());
str = args;
}
else
if (args.Length == 0)
{
Random rnd = new Random();
Console.Write("Количество чисел: "); int st = int.Parse(Console.ReadLine());
int type;
do
{
Console.WriteLine("Тип:\n1.Integer\n2.Double");
type = int.Parse(Console.ReadLine());
} while (type != 1 && type != 2);
if (type == 1)
{
str = Enumerable.Range(0, st).Select(v => rnd.Next(0, 100).ToString()).ToArray();
Console.Write($"Последовательность: {String.Join(" ", str)}\n");
}
else
{
str = Enumerable.Range(0, st).Select(v => (1 + (100 - 1) * rnd.NextDouble()).ToString()).ToArray();
Console.Write($"Последовательность: {String.Join(" ", str)}\n");
}
}
}
int[] mas = new int[str.Length];
double[] mass = new double[str.Length];
try
{
Exceptions ex = new Exceptions(str);
bool pr = ex.pr;
if (pr == false)
{
for (int i = 0; i < str.Length; i++)
{
mass[i] = double.Parse(str[i]);
}
Console.WriteLine("Сумма чисел = " + Exceptions.getSumNumbers(mass));
Console.WriteLine("Произведение чисел = " + Exceptions.getProizNumbers(mass));
Console.WriteLine("Минимальное число = " + Exceptions.getMinNumbers(mass));
Console.WriteLine("Максимальное число = " + Exceptions.getMaxNumbers(mass));
Console.WriteLine("Среднее значение = " + Exceptions.getSrednNumbers(mass));
}
else
{
for (int i = 0; i < str.Length; i++)
{
mas[i] = int.Parse(str[i]);
}
Console.WriteLine("Сумма чисел = " + Exceptions.getSumNumbers(mas));
Console.WriteLine("Произведение чисел = " + Exceptions.getProizNumbers(mas));
Console.WriteLine("Минимальное число = " + Exceptions.getMinNumbers(mas));
Console.WriteLine("Максимальное число = " + Exceptions.getMaxNumbers(mas));
Console.WriteLine("Среднее значение = " + Exceptions.getSrednNumbers(mas));
}
}
catch (Exception err)
{
Console.WriteLine(err.Message);
}
Console.ReadKey();
}
}
}