public static void Task1() { string welcome = "Вы выбрали демонстрацию работы с массивом.\n"; welcome = welcome + "Это интересно!\n"; welcome = welcome + "Давайте начнем\n"; ClassLibraryLesson4.PrintTaskWelcomeScreen(welcome); int[] arrayNumbers = new int[20]; //рандом генератор Random rand = new Random(); //заполнение массива for (int counter = 0; counter < arrayNumbers.Length; counter++) { arrayNumbers[counter] = rand.Next(-10000, 10000); } //вывод массива на экран ClassLibraryLesson4.Print("Содержимое массива:"); foreach (var item in arrayNumbers) { ClassLibraryLesson4.Print(item.ToString() + " ", false); } ClassLibraryLesson4.Print("\n"); //перебор пар ClassLibraryLesson4.Print("Анализируем пары..."); ushort counterPairs = 0; const int denominator = 3; for (int counter = 0; counter < arrayNumbers.Length - 1; counter++) { ClassLibraryLesson4.Print($"{arrayNumbers[counter]} {arrayNumbers[counter + 1]}"); if (arrayNumbers[counter] % denominator == 0 ^ arrayNumbers[counter + 1] % denominator == 0) { counterPairs++; } } ClassLibraryLesson4.Print(""); ClassLibraryLesson4.Print($"Найдено {counterPairs} пар, где только одно из значений делится на {denominator}"); ClassLibraryLesson4.Pause("Нажмите любую клавишу."); }
public static void Task2() { string welcome = "Вы выбрали демонстрацию работы с массивом в виде статического класса.\n"; welcome = welcome + "Давайте начнем\n"; ClassLibraryLesson4.PrintTaskWelcomeScreen(welcome); int[] arrayNumbers = new int[20]; //заполнение массива оставим старым из Task1 Random rand = new Random(); for (int counter = 0; counter < arrayNumbers.Length; counter++) { arrayNumbers[counter] = rand.Next(-10000, 10000); } //вывод массива на экран ClassLibraryLesson4.Print("Содержимое массива:"); StaticClass.PrintArray(arrayNumbers); //перебор пар ClassLibraryLesson4.Print("Анализируем пары..."); const int denominator = 3; uint counterPairs = StaticClass.CountArrayPairs(arrayNumbers, denominator); ClassLibraryLesson4.Print(""); ClassLibraryLesson4.Print($"Найдено {counterPairs} пар, где только одно из значений делится на {denominator}"); string file = Path.GetTempPath() + "array.txt"; ClassLibraryLesson4.Print($"Сохранение массива в файл: {file}"); bool saveStatus = StaticClass.SafeArrayToDisk(arrayNumbers, file); if (saveStatus) { ClassLibraryLesson4.Print("Запись успешна."); } ClassLibraryLesson4.Pause("Нажмите любую клавишу."); }
public static void Task4() { string Welcome = "Вы выбрали задачу подбора логина и пароля из файла\n"; Welcome = Welcome + "Давайте начнем.\n"; ClassLibraryLesson4.PrintTaskWelcomeScreen(Welcome); //string file = @"C:\Temp\p.txt"; string file = ClassLibraryLesson4.MakeQuestion("имя файла"); List <Account> accounts = ReadAccountsFromFile(file); if (accounts.Count == 0) { ClassLibraryLesson4.Print("Чтение файла с данными паролей неудачно!"); } else { bool successFlag = false; //главный логин Account rootAccount; rootAccount.Login = "******"; rootAccount.Password = "******"; foreach (var item in accounts) { if (item.Equals(rootAccount)) { ClassLibraryLesson4.Print($"Подошло: {item.ToString()}"); successFlag = true; } } if (!(successFlag)) { ClassLibraryLesson4.Print("Ничего из файла не подошло!"); } } ClassLibraryLesson4.Pause("Нажмите любую клавишу."); }
public static void Task3() { string welcome = "Вы выбрали демонстрацию работы с массивом в виде статического класса (продолжение).\n"; welcome = welcome + "Давайте начнем\n"; ClassLibraryLesson4.PrintTaskWelcomeScreen(welcome); // 10000 большой разбег не будет "показательно" работать частотный словарь //StaticClass_Task3 objectStaticClass_Task3 = new StaticClass_Task3(20, -10000, 10000); StaticClass_Task3 objectStaticClass_Task3 = new StaticClass_Task3(20, 1, 10); //вывод массива на экран ClassLibraryLesson4.Print("Содержимое массива:"); StaticClass_Task3.PrintArray(objectStaticClass_Task3.Array); //перебор пар ClassLibraryLesson4.Print("Анализируем пары..."); const int denominator = 3; uint counterPairs = StaticClass_Task3.CountArrayPairs(objectStaticClass_Task3.Array, denominator); ClassLibraryLesson4.Print(""); ClassLibraryLesson4.Print($"Найдено {counterPairs} пар, где только одно из значений делится на {denominator}"); string file = Path.GetTempPath() + "array.txt"; //запись на диск ClassLibraryLesson4.Print($"Сохранение массива в файл: {file}"); bool saveStatus = StaticClass_Task3.SafeArrayToDisk(objectStaticClass_Task3.Array, file); if (saveStatus) { ClassLibraryLesson4.Print("Запись успешна."); } //сумма элементов ClassLibraryLesson4.Print($"Сумма элементов массива: {objectStaticClass_Task3.Sum}"); //умножение int multi = 5; ClassLibraryLesson4.Print($"Умножение массива на {multi}:"); objectStaticClass_Task3.Multi(multi); ClassLibraryLesson4.Print("Содержимое массива:"); StaticClass_Task3.PrintArray(objectStaticClass_Task3.Array); //инверсия ClassLibraryLesson4.Print("Инверсия массива:"); int[] inverseArray = objectStaticClass_Task3.Inverse(); ClassLibraryLesson4.Print("Содержимое массива:"); StaticClass_Task3.PrintArray(inverseArray); //поиск количества максимальных значений ClassLibraryLesson4.Print($"Количество максимальных значений: {objectStaticClass_Task3.MaxCount}"); ClassLibraryLesson4.Print("\n"); //частотный словарь ClassLibraryLesson4.Print("Частотный словарь"); Dictionary <int, int> dictFreq = objectStaticClass_Task3.DictFrequency; foreach (KeyValuePair <int, int> item in dictFreq) { ClassLibraryLesson4.Print($"Значение: {item.Key} частота: {item.Value}"); } ClassLibraryLesson4.Pause("Нажмите любую клавишу."); }