static void Task2() { string pathToFile = "Homework.txt"; MyArray a = new MyArray(6, -10, 10); // Вызов метода ToString Console.WriteLine($"Array a's info: {a}"); Console.WriteLine($"The max: {a.Max}"); Console.WriteLine($"The min: {a.Min}"); Console.WriteLine($"The sum: {a.Sum}"); Console.WriteLine($"The maxcount: {a.MaxCount}"); Console.WriteLine($"The count of positiv elements: {a.CountPositiv}"); a.Inverse(); Console.WriteLine($"Inverted array{a}"); MyArray b = new MyArray(8, 5.0, 5); Console.WriteLine($"Array b's info: {b}"); b.WriteToFile(pathToFile); MyArray c = new MyArray("123.txt"); Console.WriteLine($"Array c's info: {c}"); Console.ReadKey(); }
static void Task2() { ConsoleUtils.HomeworkTask(2, @"2. а) Дописать класс MyArray для работы с одномерным массивом. Реализовать конструктор, создающий массив заданной размерности и заполняющий массив числами от начального значения с заданным шагом. Создать свойство Sum, которые возвращают сумму элементов массива, метод Inverse, меняющий знаки у всех элементов массива, метод Multi, умножающий каждый элемент массива на определенное число, свойство MaxCount, возвращающее количество максимальных элементов, создать индексирующее свойство, свойство Length, возвращающая длину массива, метод Merge объединяющий два массива в один и возвращающий объединенный массив, метод Copy(), возвращающий копию массива, метод Resize(int newSize) изменяющий размер массива, свойство GetArray с помощью которого можно получить ссылку на массив. В Main продемонстрировать работу класса. б)*Добавить конструктор и методы, которые загружают данные из файла и записывают данные в файл."); MyArray myArray = new MyArray(20, -10, 500, 4); ConsoleUtils.Print($"Сгенерирован массив (размерность 20, элементы от -10 до 500, шаг 20):\n\r{myArray}\n\r"); ConsoleUtils.Print($"Sum [{myArray}]:\n\r{myArray.Sum}\n\r"); ConsoleUtils.Print($"Inverse [{myArray}]:\n\r{string.Join(";", myArray.Inverse())}\n\r"); ConsoleUtils.Print($"Multi(*10) [{myArray}]:\n\r{string.Join(";", myArray.Multi(10))}\n\r"); ConsoleUtils.Print($"MaxCount [{myArray}]:\n\r{myArray.MaxCount}\n\r"); ConsoleUtils.Print($"Length [{myArray}]:\n\r{myArray.Length}\n\r"); MyArray myArray2 = new MyArray(30, 0, 999, 1); MyArray mergeArray = MyArray.Merge(myArray, myArray2); ConsoleUtils.Print($"Merge [{myArray}] c массивом [{myArray2}]: \n\r{mergeArray}\n\r"); MyArray copyMyArray = MyArray.Copy(myArray); ConsoleUtils.Print($"Copy [{myArray}]:\n\r{copyMyArray}\n\r"); MyArray.Resize(ref copyMyArray, 15); ConsoleUtils.Print($"Resize (newSize = 15) [{myArray}]:\n\r{copyMyArray}\n\r"); int[] array = myArray.GetArray(); ConsoleUtils.Print($"GetArray [{myArray}]:\n\r{array}{{{string.Join(";", array)}}}\n\r"); string fileName = "data1.txt"; try { myArray = new MyArray(fileName); ConsoleUtils.Print($"Считали массив из файла {fileName}: \n\r{myArray}\n\r"); } catch (FileNotFoundException) { ConsoleUtils.Print($"Файл {fileName} не найден"); } catch (Exception ex) { ConsoleUtils.Print($"При считывании файла {fileName} возникла ошибка: {ex.Message}"); } try { ConsoleUtils.Print($"Записать значения массива \n\r[{mergeArray}] \n\rв файл {fileName}"); MyArray.WriteToFile(fileName, mergeArray.GetArray()); ConsoleUtils.Print($"Результат\n\r{string.Join(";", MyArray.ReadToFile(fileName))}\n\r"); } catch (FileNotFoundException) { ConsoleUtils.Print($"Файл {fileName} не найден"); } catch (Exception ex) { ConsoleUtils.Print($"При записи значений массива\n\r[{mergeArray}]\n\rв файла {fileName} возникла ошибка:\n\r{ex.Message}"); } ConsoleUtils.WaitNextPress(); }