示例#1
0
 /// <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} Запись в файл не произведена");
     }
 }
示例#2
0
        /// <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} Запись в файл не произведена");
            }
        }
示例#3
0
        static void Main()
        {
            string path = @"..\..\..\FileToRead.txt";

            string[] arr = FileRead.ReadFileToArr(path);
            PrintData.ArrPrint(arr, 50);
            Console.ReadLine();
        }
示例#4
0
        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();
        }
示例#5
0
        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();
        }
示例#6
0
        /// <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);
            }
        }
示例#7
0
        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();
        }