static void GuessRandomNumber(Homework_2 hw2) { // 4. Угадать случайное число не более чем за 10 попыток. // После каждой неудачной попытки должно сообщаться больше или меньше введенное пользователем число, чем то, что загадано. // Если за 10 попыток число не отгадано, то вывести загаданное число. int number = Random(0, 101), counter = 0, guess, attempts = 10; Console.WriteLine(number); Console.WriteLine("Угадайте число от 0 до 100"); while (counter <= attempts) { Console.WriteLine($"Попытка {counter}"); guess = Convert.ToInt32(Console.ReadLine()); string result = hw2.CheckEquality(number, guess); Console.WriteLine(result); if (result == "Вы угадали!") { break; } counter++; } if (counter > attempts) { Console.WriteLine($"Вы не угадали 10 раз. Число было равно {number}"); } }
// 4. Угадать случайное число не более чем за 10 попыток. // После каждой неудачной попытки должно сообщаться больше или меньше введенное пользователем число, чем то, что загадано. // Если за 10 попыток число не отгадано, то вывести загаданное число. static void GuessRandomNumber(Homework_2 hw2) { int number = Random(0, 101), counter = 0, guess, attempts = 10; Console.WriteLine(number); Console.WriteLine("Угадайте число от 0 до 100"); while (counter <= attempts) { Console.WriteLine($"Попытка {counter}"); guess = Convert.ToInt32(Console.ReadLine()); string result = hw2.CheckEquality(number, guess); Console.WriteLine(result); if (result == "Вы угадали!") { break; } counter++; } if (counter > attempts) { Console.WriteLine($"Вы не угадали 10 раз. Число было равно {number}"); } }
//3. В введенном промежутке натуральных чисел найти те, количество делителей у которых не меньше введенного значения. Для найденных чисел вывести на экран количество делителей и все делители. // Примерный вывод: // Числовой промежуток: 21 .. 30 // Количество делителей (не менее): 5 // 24 - 8 - 1 2 3 4 6 8 12 24 // 28 - 6 - 1 2 4 7 14 28 // 30 - 8 - 1 2 3 5 6 10 15 30 static void NumberOfDividers(Homework_3 hw3, Homework_2 hw2) { int a, b, minOfDiv, divCounter; int[] divArr; string divStr; Console.WriteLine("Введите промежуток натуральных чисел"); Console.WriteLine("От: "); a = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("До: "); b = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("Количество делителей должно быть не менее:"); minOfDiv = Convert.ToInt32(Console.ReadLine()); while (a <= b) { divCounter = hw3.CountDividers(a); divArr = hw3.NumberDividers(a, divCounter); if (divCounter >= minOfDiv) { divStr = hw2.PrintArray(divArr); Console.Write($"{a} - {divCounter} - {divStr} \n"); } a++; } }
//Написать программу, которая будет складывать, вычитать, умножать или делить два числа.Числа и знак операции вводятся пользователем.После выполнения вычисления программа не должна завершаться, а должна запрашивать новые данные для вычислений.Завершение программы должно выполняться при вводе символа '0' в качестве знака операции. Если пользователь вводит неверный знак (не '0', '+', '-', '*', '/'), то программа должна сообщать ему об ошибке и снова запрашивать знак операции.Также сообщать пользователю о невозможности деления на ноль, если он ввел 0 в качестве делителя. static void Calc(Homework_2 hw2) { char sign = '+'; float num, result; Console.WriteLine("Введите первое число: "); try { result = Convert.ToInt32(Console.ReadLine()); } catch { Console.WriteLine("Введите первое ЧИСЛО! You idiot! "); result = Convert.ToInt32(Console.ReadLine()); } while (sign != '0') { Console.WriteLine("Введите знак: "); sign = Convert.ToChar(Console.ReadLine()); if (sign != '+' && sign != '-' && sign != '*' && sign != '/') { Console.WriteLine("Bloody hell! Вы ввели неверный знак"); Console.WriteLine("Введите знак: "); sign = Convert.ToChar(Console.ReadLine()); } Console.WriteLine("Введите второе число: "); try { num = Convert.ToInt32(Console.ReadLine()); } catch { Console.WriteLine("Введите второе ЧИСЛО! You piece of shit! "); num = Convert.ToInt32(Console.ReadLine()); } if (sign == '+' || sign == '-' || sign == '*') { result = hw2.SubstituteSign(result, num, sign); } else if (sign == '/') { if (num != 0) { result = hw2.SubstituteSign(result, num, sign); } else { Console.WriteLine("Делить на ноль нельзя! You wanker!"); continue; } } Console.WriteLine($"Результат {result}"); Console.WriteLine($"\n"); } }
// 123 => 321. static void ReverseNumber(Homework_2 hw2) { int n, reverseN; n = Random(1, 100000); reverseN = hw2.FlipNumberBackwards(n); Console.WriteLine($"n = {n}, reverse = {reverseN}"); }
// Проверить корректность работы генератора псевдослучайных чисел на выборке не менее 1000 случайных чисел. // Программа должна выдать около 50%. // Можно увеличить число генераций, например до 10 тысяч. В таком случае отклонение от 50% будет меньше static void CheckRandomGenerator(Homework_2 hw2) { int count, amount = 10000; count = hw2.CheckRandom(amount); double percentage = hw2.CalcPercentage(count, amount); Console.WriteLine($"Even numbers {count} out of {amount}"); Console.WriteLine($"Even numbers {percentage}%"); }
// 5. Вывести на экран столько элементов ряда Фибоначчи, сколько указал пользователь. static void Fibonacci(Homework_2 hw2) { int n; Console.WriteLine("Задайте количество эллементов ряда"); n = Convert.ToInt32(Console.ReadLine()); int[] fibArr = hw2.FibonacciOfNumber(n); string fibStr = hw2.PrintArray(fibArr); Console.WriteLine(fibStr); }
// Задан массив из 20 элементов (рандом от -100 до 100). Найти наибольший элемент массива и его индекс static void MaxInArray(Homework_2 hw2) { int length = 20; int[] arr = hw2.FillArray(length); int[] maxInArr = hw2.FindMaxInArray(arr); string arrStr = hw2.PrintArray(arr); Console.WriteLine(arrStr); Console.WriteLine(); Console.WriteLine($"max = {maxInArr[0]}, index = {maxInArr[1]} "); }
static void MaxInArray(Homework_2 hw2) { // Задан массив из 20 элементов (рандом от -100 до 100). Найти наибольший элемент массива и его индекс int length = 20; int[] arr = hw2.FillArray(length); int[] maxInArr = hw2.FindMaxInArray(arr); string arrStr = hw2.PrintArray(arr); Console.WriteLine(arrStr); Console.WriteLine(); Console.WriteLine($"max = {maxInArr[0]}, index = {maxInArr[1]} "); }
static void Fibonacci(Homework_2 hw2) { // 5. Вывести на экран столько элементов ряда Фибоначчи, сколько указал пользователь. int n; Console.WriteLine("Задайте количество эллементов ряда"); n = Convert.ToInt32(Console.ReadLine()); int[] fibArr = hw2.FibonacciOfNumber(n); string fibStr = hw2.PrintArray(fibArr); Console.WriteLine(fibStr); }
static void CheckRandomGenerator(Homework_2 hw2) { // Проверить корректность работы генератора псевдослучайных чисел на выборке не менее 1000 случайных чисел. // Программа должна выдать около 50%. // Можно увеличить число генераций, например до 10 тысяч. В таком случае отклонение от 50% будет меньше int count, amount = 10000; count = hw2.CheckRandom(amount); double percentage = hw2.CalcPercentage(count, amount); Console.WriteLine($"Even numbers {count} out of {amount}"); Console.WriteLine($"Even numbers {percentage}%"); }
//4. Найти в массиве те элементы, значение которых меньше среднего арифметического, взятого от всех элементов массива. static void ArithmeticalMean(Homework_2 hw2) { int length = 6; int[] arr = hw2.FillArray(length); string arrStr = hw2.PrintArray(arr); Console.WriteLine($"arr {arrStr}"); int arithmMean = hw2.CalcArithmeticalMean(arr); int[] newArr = hw2.GetNumbLessAv(arr, arithmMean); string newArrStr = hw2.PrintArray(newArr); Console.WriteLine($"arr {newArrStr}"); }
static void ReverseAnArray(Homework_2 hw2) { int length = 10; int[] arr, reverse; string arrStr, reverseArrStr; arr = hw2.FillArray(length); arrStr = hw2.PrintArray(arr); reverse = hw2.ReverseArray(arr); reverseArrStr = hw2.PrintArray(reverse); Console.WriteLine($"arr {arrStr}"); Console.WriteLine($"reverse {reverseArrStr}"); }
// Поменять местами первую и вторую половину массива, // 1 2 3 4 => 3 4 1 2. // 1 2 3 4 5 => 4 5 3 1 2 static void SwapArr(Homework_2 hw2) { int length = 6; int[] arr, swapArr; string arrStr, swapArrStr; arr = hw2.FillArray(length); arrStr = hw2.PrintArray(arr); swapArr = hw2.SwapArrayParts(arr); swapArrStr = hw2.PrintArray(swapArr); Console.WriteLine($"arr {arrStr}"); Console.WriteLine($"swap {swapArrStr}"); }
static void Main(string[] args) { Homework_1 hw1 = new Homework_1(); Homework_2 hw2 = new Homework_2(); Homework_3 hw3 = new Homework_3(); // Credit(hw1); // Hypotenuse(hw1); // StraightLineEquation(hw1); // Roots(hw1); // MaxPlusThree(hw1); // EuclideanDivision(hw1); // CoordinateSystem(hw1); // Radius(hw1); // Factorial(hw1); // ValueTable(hw1); // SumAndMultDigits(hw1); // Evidence(hw1); // ReverseNumber(hw2); // Calc(hw2); // CheckRandomGenerator(hw2); // GuessRandomNumber(hw2); // Fibonacci(hw2); // MaxInArray(hw2); // ReverseAnArray(hw2); // SwapArr(hw2); // ArithmeticalMean(hw2); // SumBetweenMinMax(hw2); // QtyDigits(hw3); // Rectangle(hw3); // NumberOfDividers(hw3, hw2); // TicTacToe(hw3); // SwapDiagonals(hw3); // CountingBigNumbers(hw3, hw2); //Gauss gauss = new Gauss(new int[,]{ { 6, 3, 5, 4, 77 }, // { 3, -2, 8, 0, 67 }, // { 7, 2, 0, 0, 43 }, // { 4, 0, 0, 0, 12 } }); //int[] gaussResult = gauss.GetGuass(); //string gaussResultStr = hw2.PrintArray(gaussResult); //Console.WriteLine(gaussResultStr); //Console.ReadLine(); }
// 5. В массиве найти сумму элементов, находящихся между минимальным и максимальным элементами. // Сами минимальный и максимальный элементы в сумму не включать. static void SumBetweenMinMax(Homework_2 hw2) { int length = 10, sum; int[] arr = hw2.FillArray(length, 0, 20); string arrStr = hw2.PrintArray(arr); Console.WriteLine($"arr {arrStr}"); int[] maxResult = hw2.FindMaxInArray(arr); int[] minResult = hw2.FindMinInArray(arr); sum = hw2.GetSumBetweenMinMax(arr, minResult[1], maxResult[1]); Console.WriteLine($"max = {maxResult[0]}, maxIndex = {maxResult[1]}"); Console.WriteLine($"min = {minResult[0]}, minIndex = {minResult[1]}"); Console.WriteLine($"Sum = {sum}"); }
static void ArithmeticalMean(Homework_2 hw2) { //4. Найти в массиве те элементы, значение которых меньше среднего арифметического, взятого от всех элементов массива. int length = 6; int[] arr = hw2.FillArray(length); string arrStr = hw2.PrintArray(arr); Console.WriteLine($"arr {arrStr}"); int arithmMean = hw2.CalcArithmeticalMean(arr); int[] newArr = hw2.GetNumbLessAv(arr, arithmMean); string newArrStr = hw2.PrintArray(newArr); Console.WriteLine($"arr {newArrStr}"); }
static void SwapArr(Homework_2 hw2) { // Поменять местами первую и вторую половину массива, // 1 2 3 4 => 3 4 1 2. // 1 2 3 4 5 => 4 5 3 1 2 int length = 6; int[] arr, swapArr; string arrStr, swapArrStr; arr = hw2.FillArray(length); arrStr = hw2.PrintArray(arr); swapArr = hw2.SwapArrayParts(arr); swapArrStr = hw2.PrintArray(swapArr); Console.WriteLine($"arr {arrStr}"); Console.WriteLine($"swap {swapArrStr}"); }
// 3. Найти количество элементов массива, которые больше своих левого, правого, верхнего и нижнего соседа одновременно. static void CountingBigNumbers(Homework_3 hw3, Homework_2 hw2) { int l = 6, bigNumberCounter; int[,] arr = new int[l, l]; int[] bigNumbers; string arrStr, bigNumbersStr; arr = hw3.FillTwoDimensionalArrayInt(arr); arrStr = hw3.PrintTwoDimensionalArrayInt(arr); Console.Write(arrStr); bigNumberCounter = hw3.CountBigNumbers(arr); bigNumbers = hw3.BigNumbersArr(arr, bigNumberCounter); bigNumbersStr = hw2.PrintArray(bigNumbers); Console.WriteLine($"bigNumbers - {bigNumbersStr}"); Console.WriteLine($"bigNumberCounter - {bigNumberCounter}"); }
static void SumBetweenMinMax(Homework_2 hw2) { // 5. В массиве найти сумму элементов, находящихся между минимальным и максимальным элементами. // Сами минимальный и максимальный элементы в сумму не включать. int length = 10, sum; int[] arr = hw2.FillArray(length, 0, 20); string arrStr = hw2.PrintArray(arr); Console.WriteLine($"arr {arrStr}"); int[] maxResult = hw2.FindMaxInArray(arr); int[] minResult = hw2.FindMinInArray(arr); sum = hw2.GetSumBetweenMinMax(arr, minResult[1], maxResult[1]); Console.WriteLine($"max = {maxResult[0]}, maxIndex = {maxResult[1]}"); Console.WriteLine($"min = {minResult[0]}, minIndex = {minResult[1]}"); Console.WriteLine($"Sum = {sum}"); }
static void CountingBigNumbers(Homework_3 hw3, Homework_2 hw2) { //! 3. Найти количество элементов массива, которые больше своих левого, правого, верхнего и нижнего соседа одновременно. int l = 6, bigNumberCounter; int[,] arr = new int[l, l]; int[] bigNumbers; string arrStr, bigNumbersStr; arr = hw3.FillTwoDimensionalArrayInt(arr); arrStr = hw3.PrintTwoDimensionalArrayInt(arr); // как вывести красиво ?? Console.Write(arrStr); bigNumberCounter = hw3.CountBigNumbers(arr); bigNumbers = hw3.BigNumbersArr(arr, bigNumberCounter); bigNumbersStr = hw2.PrintArray(bigNumbers); Console.WriteLine($"bigNumbers - {bigNumbersStr}"); Console.WriteLine($"bigNumberCounter - {bigNumberCounter}"); }
static void NumberOfDividers(Homework_3 hw3, Homework_2 hw2) { //3. В введенном промежутке натуральных чисел найти те, количество делителей у которых не меньше введенного значения. Для найденных чисел вывести на экран количество делителей и все делители. // Примерный вывод: // Числовой промежуток: 21 .. 30 // Количество делителей (не менее): 5 // 24 - 8 - 1 2 3 4 6 8 12 24 // 28 - 6 - 1 2 4 7 14 28 // 30 - 8 - 1 2 3 5 6 10 15 30 int a, b, minOfDiv, divCounter; int[] divArr; string divStr; Console.WriteLine("Введите промежуток натуральных чисел"); Console.WriteLine("От: "); a = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("До: "); b = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("Количество делителей должно быть не менее:"); minOfDiv = Convert.ToInt32(Console.ReadLine()); while (a <= b) { divCounter = hw3.CountDividers(a); divArr = hw3.NumberDividers(a, divCounter); if (divCounter >= minOfDiv) { divStr = hw2.PrintArray(divArr); Console.Write($"{a} - {divCounter} - {divStr} \n"); } a++; } }
static void Main(string[] args) { Homework_1 hw1 = new Homework_1(); Homework_2 hw2 = new Homework_2(); Homework_3 hw3 = new Homework_3(); // Credit(hw1); // Hypotenuse(hw1); // StraightLineEquation(hw1); // Roots(hw1); // MaxPlusThree(hw1); // EuclideanDivision(hw1); // CoordinateSystem(hw1); // Radius(hw1); // Factorial(hw1); // ValueTable(hw1); // SumAndMultDigits(hw1); // Evidence(hw1); // ReverseNumber(hw2); // Calc(hw2); // CheckRandomGenerator(hw2); // GuessRandomNumber(hw2); // Fibonacci(hw2); // MaxInArray(hw2); // ReverseAnArray(hw2); // SwapArr(hw2); // ArithmeticalMean(hw2); // SumBetweenMinMax(hw2); // QtyDigits(hw3); // Rectangle(hw3); // NumberOfDividers(hw3, hw2); // TicTacToe(hw3); // SwapDiagonals(hw3); // CountingBigNumbers(hw3, hw2); /* Human antosha = new Human("Antoshka", 35); * antosha.GetInfo(); * //Human antosha = new Human("Antoshka"); * //Human antosha = new Human(35); * //antosha.name = "Antoshka"; * Human petya = new Human("Petya", 66); * petya.GetInfo(); * Human sergey = new Human("Sergey", 33); * sergey.GetInfo(); * * Human kirill = new Human() * { * name = "Kirill", * age = 23 * }; * * kirill.GetInfo(); */ // ------------ Console.ReadLine(); }