//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++; } }
//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 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}"); }
// Задан массив из 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]} "); }
// 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); }
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); }
// 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}"); }
// 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++; } }