Ім'я файлу: Горобець Каміла Сінж 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();

}

}

}Начальный Массив



Исполненный код



Полученный массив


скачати

© Усі права захищені
написати до нас