Beispiel #1
0
        public override void RunTask()
        {
            base.RunTask();

            var myArray = new MyArray(5, 2, 2);

            myArray.Print("Массив данных:");

            ConsoleView.Print($"Сумма: {myArray.Sum()}");

            myArray.Inverse();
            myArray.Print("Массив данных с измененным знаком:");

            myArray.Multi(5);
            myArray.Print("Массив данных с увеличенными значениями:");

            ConsoleView.Print($"Количество максимальных элементов: {myArray.MaxCount()}");
            ConsoleView.Pause();

            myArray.WriteToFile("data.txt");

            myArray = new MyArray(20);
            myArray.Print("Новый массив данных:");

            myArray.ReadFromFile("data.txt");
            myArray.Print("Прошлый массив данных:");

            ConsoleView.Pause();
            ConsoleView.Clear();
        }
        static void Main(string[] args)
        {
            task1 task1 = new task1();

            Console.WriteLine(task1.run());

            Console.WriteLine("Task2");
            MyArray array = new MyArray(@"c:\temp\data.txt");

            array.Print();

            Console.WriteLine("Sum");
            Console.WriteLine(array.sum);

            Console.WriteLine("MaxCount");
            Console.WriteLine(array.MaxCount);

            Console.WriteLine("Multi");
            array.Multi(2);
            array.Print();

            Console.WriteLine("Inverse");
            array.inverseArray();
            array.Print();

            Console.ReadLine();
        }
        public static void Demo()
        {
            string filename = "array.txt";

            Utilities.Print($"Создаем массив в 12 элементов, начиная с 2 и шагом 4");
            MyArray myArray = MyArray.WithNStartStep(12, 2, 4);

            Utilities.Print($"{myArray}");

            Utilities.Print($"Умножаем на 2");
            myArray.Multi(2);
            Utilities.Print($"{myArray}");

            Utilities.Print($"Инвертируем");
            myArray.Inverse();
            Utilities.Print($"{myArray}");

            Utilities.Print($"Пишем массив в {filename}");
            myArray.ToFile(filename);
            Utilities.Print($"{myArray}");

            Utilities.Print($"Пробуем прочитать {filename + "sdsf"}");
            myArray.FromFile(filename + "sdsf");

            Utilities.Print($"Создаем массив в 12 элементов равных 12");
            myArray = MyArray.WithNandElement(12, 12);
            Utilities.Print($"{myArray}");
            Utilities.Print($"Максимальных элементов: {myArray.MaxCount}.");

            Utilities.Print($"Читаем массив из {filename}");
            myArray.FromFile(filename);
            Utilities.Print($"{myArray}");
        }
        public static MyArray WithFilename(string filename)
        {
            MyArray arr = new MyArray();

            if (File.Exists(filename))
            {
                StreamReader reader = new StreamReader(filename);
                int[]        a      = new int[int.Parse(reader.ReadLine())];

                for (int i = 0; i < a.Length; i++)
                {
                    if (int.TryParse(reader.ReadLine(), out int e))
                    {
                        a[i] = e;
                    }
                    else
                    {
                        a[i] = 0;
                    }
                }

                reader.Close();
                arr.a = a;
            }
            else
            {
                //throw new Exception("Файл не найден.");
                throw new FileNotFoundException();
            }

            return(arr);
        }
Beispiel #5
0
 static void Main()
 {
     int[] arr = MyArray.GenerateArray(20);
     Console.WriteLine($"Количество пар элементов массива, " +
                       $"в которых хотя бы одно число делится на 3: {MyArray.PairBy3(arr)}");
     MyArray.WriteArrayForFile(arr);
     int[] arr2 = MyArray.ReadArrayFromFile("data.txt");
     Console.WriteLine($"Последний считанный из файла элемент массива: {arr2[arr2.Length-1]}");
     Console.ReadKey();
 }
        public static MyArray WithNandElement(int n, int el)
        {
            MyArray arr = new MyArray();

            arr.a = new int[n];
            for (int i = 0; i < n; i++)
            {
                arr.a[i] = el;
            }

            return(arr);
        }
        public static MyArray WithNStartStep(int n, int startValue, int step)
        {
            MyArray arr = new MyArray();

            arr.a = new int[n];

            for (int i = 0; i < n; i++)
            {
                arr.a[i] = startValue + i * step;
            }

            return(arr);
        }
        public static MyArray WithNMinMax(int n, int min, int max)
        {
            MyArray arr = new MyArray();

            arr.a = new int[n];
            Random rnd = new Random();

            for (int i = 0; i < n; i++)
            {
                arr.a[i] = rnd.Next(min, max);
            }

            return(arr);
        }
Beispiel #9
0
        static void Task02()
        {
            //Реализовать класс для работы с массивом, реализовать методы и св-ва для работы с массивом.
            MyArray myArray = new MyArray(10, 2, 3);

            Console.WriteLine(myArray);
            Console.WriteLine(myArray.Sum);
            myArray.Inverse();
            Console.WriteLine(myArray);
            myArray.Multi(2);
            Console.WriteLine(myArray);
            MyArray myArrayText = new MyArray("test.txt");

            Console.WriteLine(myArrayText);
            Console.WriteLine(myArrayText.Max);
            Console.WriteLine(myArrayText.MaxCount);
            myArray.Output("test2.txt");
            FC.Pause();
        }
Beispiel #10
0
        /// <summary>
        /// а) Дописать класс для работы с одномерным массивом. Реализовать конструктор, создающий массив определенного размера и
        /// заполняющий массив числами от начального значения с заданным шагом. Создать свойство Sum, которое возвращает сумму элементов массива
        /// , метод Inverse, возвращающий новый массив с измененными знаками у всех элементов массива (старый массив, остается без изменений),
        /// метод Multi, умножающий каждый элемент массива на определённое число, свойство MaxCount, возвращающее количество максимальных элементов.
        /// </summary>
        static void Task33()
        {
            int   n, min;
            sbyte s;

            n = 5; min = 0; s = 1;
            MyArray t4 = new MyArray(n, min, s);

            Console.WriteLine(t4.ToString());
            Console.WriteLine(t4.Sum);
            Console.WriteLine(t4.Inverse());
            Console.WriteLine(t4.MaxCount);
            t4 = new MyArray(100, 50, 85);
            Console.WriteLine(t4.ToString());
            int[,] display = t4.GetNumberValues();
            Console.WriteLine("Частота распределения");
            for (int i = 0; i < display.GetLength(0); i++)
            {
                if (display[i, 1] > 0)
                {
                    Console.WriteLine($"Array[{display[i, 0]},{display[i, 1]}]");
                }
            }
        }