Дополнить приложение кодом формирования псевдослучайной последовательности - 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();
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 3.857 из 5
Похожие ответы