Ім'я файлу: Горобець Каміла Сінж 2019-1.docx Розширення: docx Розмір: 118кб. Дата: 05.10.2021 скачати Пов'язані файли: Клеймьонов Р. Синж-2019-1 кр-1.docx В-4 Горобець К. студентка групи Сінж2019-1 Завдання: Сформировать одномерный массив Т из сумм элементов, расположенных в строках с отрицательными элементами на главной диагонали исходного двумерного массива Z(n,n). using System; using System.Collections.Generic; using System.IO; using System.Linq; namespace lb_2 { class WorkWithFileSystem { public bool Create(string fileName) //метод создающий файл если его еще нет { if (IsFileExists(fileName)) { File.Delete(fileName); } if (!IsFileExists(fileName))//проверка на наличие файла, если нет то... { try //оборорачиваем метод для создания файла в блок try catch для избежания ситуаций, при которых возможно прекращение работы всего приложения { File.Create(fileName).Dispose(); //то... создаем файл return true; } catch (Exception) { return false; } } return true; } public bool IsFileExists(string fileName) //метод проверяющий наличие файла { return File.Exists(fileName); } public string[] Read(string fileName) { var result = new List if (!IsFileExists(fileName)) { throw new Exception($"File {fileName} not exists");//Вызываем ошибку и приложение перекращает свою работу в случае если считываемого файла нет } try { using (var reader = new StreamReader(fileName))//мы создаем экземпляр для последующего чтения данных из файла { string d; while (!ReferenceEquals((d = reader.ReadLine()), null))//ReferenceEquals = сравнение сущностей проверяем не пришел нал со строки { result.Add(d);//записіваем в переменную наши строки } } return result.ToArray();//преобразовываем список в масив и возращаем значение } catch (Exception)//ловим возможные исключения { return null; } } public void WriteDataInFile(string fileName, string nums) { try { using (var writer = new StreamWriter(fileName, true))//создаем экземпляр обьекта и ограничиваем область действия блоком using { writer.WriteLine(nums);//записываем данные в файл } } catch (Exception)//ловим ошибки { return; } } } class Program { static void Main(string[] args) { WorkWithFileSystem _file = new WorkWithFileSystem(); var res = _file.Read($"{Directory.GetCurrentDirectory()}\\array1.txt");//читаем данные с нашего файла if (res != null) { _file.Create("resultFile.txt");//создаем файл foreach (string line in res) //res представляет собой массив строк полученіх из файла. В цикле проходимся и получаем наши строки { var nums = line.Split(' ');//разделяем строку по пробелу и получаем масив цифр int elemB = nums.Min(num => Int32.Parse(num));//находим минимальное число в массиве который представляет собой одну строку for (int i = 0; i < nums.Count(); i++)//проходим по массиву цифр { if (Int32.Parse(nums[i]) == elemB)//проверяем если елемент масива равен самому большому { _file.WriteDataInFile($"{Directory.GetCurrentDirectory()}\\resultFile.txt", string.Join(" ", elemB));//записываем результат в файл } } } } Console.ReadKey(); } } }Начальный Массив Исполненный код Полученный массив |