/// <summary> /// Метод записывает массив в файл перезаписью имеющихся данных /// </summary> /// <param name="path">Путь к целевому файлу</param> /// <param name="arr">Входящий массив для записи в файл</param> public static void WriteToFile(string path, int[] arr) { try { StreamWriter sw = new StreamWriter(path); for (int i = 0; i < arr.Length; i++) { if (i == 0) { sw.Write(arr[i]); } else { sw.Write($"\n{arr[i]}"); } } sw.Close(); Console.WriteLine($"В файл \"{path.Replace("..\\"," ").Trim()}\" произведена запись массива"); PrintData.ArrPrint(arr, 5); Console.WriteLine(); } catch (Exception e) { Console.WriteLine($"Ошибка: {e.Message} Запись в файл не произведена"); } }
/// <summary> /// Метод записывает массив в файл добавлением к имеющимся данным /// </summary> /// <param name="path">Путь к целевому файлу</param> /// <param name="arr">Входящий массив для записи в файл</param> public static void AppendToFile(string path, int[] arr) { try { StreamReader sr = new StreamReader(path, true); string initStr = sr.ReadLine(); sr.Close(); StreamWriter sw = new StreamWriter(path, true); for (int i = 0; i < arr.Length; i++) { if (i == 0 && (initStr == null || initStr.Trim().Length == 0)) { sw.Write($"{arr[i]}"); } else { sw.Write($"\n{arr[i]}"); }; } sw.Close(); Console.WriteLine($"В файл \"{path.Replace("..\\", " ").Trim()}\" произведена запись массива"); PrintData.ArrPrint(arr, 5); Console.WriteLine("\n"); } catch (Exception e) { Console.WriteLine($"Ошибка: {e.Message} Запись в файл не произведена"); } }
static void Main() { string path = @"..\..\..\FileToRead.txt"; string[] arr = FileRead.ReadFileToArr(path); PrintData.ArrPrint(arr, 50); Console.ReadLine(); }
static void Main() { //byte step = 2; OneDimArray arr = new OneDimArray(50, 1, 15); PrintData.ArrPrint(arr.GetArr(), 15); Console.WriteLine(); PrintData.ArrPrint(arr.GetArrReversed(), 15); Console.WriteLine(); arr.Multi(5); PrintData.ArrPrint(arr.GetArr(), 5); Console.WriteLine($"\n{arr.ToString()}"); Console.WriteLine(); PrintData.DictPrint(arr.EachElCount); Console.ReadLine(); }
static void Main() { int arrLen = 50; int devider = 3; int max = 10000; int min = -10000; int[] arr = new int[arrLen]; Random rnd = new Random(); for (int i = 0; i < arrLen; i++) { arr[i] = rnd.Next(min, max); } PrintData.ArrPrint(arr, 5); Console.WriteLine($"\nПары, в которых только одно число делится на: {devider}"); SearchPair(arr, devider); Console.ReadLine(); }
/// <summary> /// Метод считывает данные с целевого файла и возвращает их ввиде одномерного массива /// </summary> /// <param name="path">Путь к целевому файлу</param> /// <returns>Массив значений, считанных с целевого файла</returns> public static int[] ReadFromFile(string path) { int[] arr = new int[1]; StreamReader sr = null; int j = 1; // счетчик элементов массивa bool flag = false; try { sr = new StreamReader(path); for (int i = 0; !sr.EndOfStream; i++) { try { arr[j - 1] = int.Parse(sr.ReadLine()); if (!sr.EndOfStream) { System.Array.Resize(ref arr, ++j); } } catch { Console.WriteLine($"Ошибка: тип данных строки №{i + 1} не Int32, строка будет пропущена"); flag = true; } } sr.Close(); if (flag) { Console.WriteLine(); } Console.WriteLine($"Считан файл: \"{path.Replace("..\\", " ").Trim()}\""); PrintData.ArrPrint(arr, 5); return(arr); } catch (Exception e) { Console.WriteLine($"Ошибка: {e.Message} Загрузка данных в массив не произведена"); return(null); } }
static void Main() { int arrLen = 50; int devider = 3; int min = -10000; int max = 10000; int[] arr = new int[arrLen]; Random rnd = new Random(); string str = @"..\..\..\SampleData.txt"; arr = new OneDimArray(arr.Length, min, max).GetArr(); PrintData.ArrPrint(arr, 5); Console.WriteLine($"\nПары, в которых только одно число делится на: {devider}"); ArrHandle.SearchPair(arr, devider); Console.WriteLine(); Array.Clear(arr, 0, arrLen); arr = new OneDimArray(rnd.Next(1, arrLen / 2), min, max).GetArr(); FileIO.AppendToFile(str, arr); FileIO.ReadFromFile(str); Console.ReadLine(); }