Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- namespace Clight_12_massive_01
- {
- class Program
- {
- static void Main(string[] args)
- {
- bool isOpen = true;
- bool goodNumMenu;
- bool goodNumMassive;
- bool goodLine;
- bool goodRow;
- int userMenu = 0;
- int userNumLine = 0;
- int userNumRow = 0;
- int[,] userMassive = new int[10, 10];
- Random random = new Random();
- string numMenuString = "";
- string userNumLineString;
- string userNumRowString;
- int chooseLine;
- int chooseRow;
- int sumLine;
- int sumRow;
- Console.WriteLine("Приветствуем вас в конструкторе массива.\nВерсия 1.0\n");
- Console.WriteLine("\nС целью визуальной гаромноичности, массив создается из чисел от 0 до 9");
- Console.WriteLine("\n\nДля входа в меню нажмите любую клавишу.");
- Console.ReadKey();
- Console.Clear();
- while (isOpen == true)
- {
- // Вывод текущих значений массива
- Console.SetCursorPosition(0, 19);
- Console.WriteLine($"Текущий массив {userMassive.GetLength(0)}х{userMassive.GetLength(1)}:\n");
- for (int i = 0; i < userMassive.GetLength(0); i++)
- {
- for (int j = 0; j < userMassive.GetLength(1); j++)
- {
- Console.Write($"{userMassive[i, j]} ");
- }
- Console.WriteLine();
- }
- // Вывод основного меню и проверка на ошибку ввода
- goodNumMenu = false;
- while (goodNumMenu == false)
- {
- Console.SetCursorPosition(0, 0);
- Console.WriteLine("Основное Меню:\n");
- Console.WriteLine("1 - Создание нового массива. Максимум 10х10.");
- Console.WriteLine("2 - Вычислить сумму строки массива.");
- Console.WriteLine("3 - Вычислить произведение столбца массива.");
- Console.WriteLine("4 - Найти наибольший элемент матрицы и заменить его на 0.");
- Console.WriteLine("5 - Выход.");
- Console.Write("\nВыберете пункт меню: ");
- numMenuString = Console.ReadLine();
- switch(numMenuString)
- {
- case "1":
- case "2":
- case "3":
- case "4":
- case "5":
- goodNumMenu = true;
- break;
- default:
- Console.ForegroundColor = ConsoleColor.DarkRed;
- Console.WriteLine("\nНе корректный запрос.");
- Console.WriteLine("\nДля возврата в меню нажмите любую клавишу.");
- Console.ForegroundColor = ConsoleColor.White;
- Console.ReadKey();
- break;
- }
- break;
- }
- //Выполнение действий меню
- Console.SetCursorPosition(0, 9);
- switch (numMenuString)
- {
- case "1":
- goodNumMassive = false;
- goodLine = false;
- goodRow = false;
- while (goodNumMassive == false)
- {
- Console.Write("Введите количество строк (максимум 10): ");
- userNumLineString = Console.ReadLine();
- switch (userNumLineString)
- {
- case "1":
- case "2":
- case "3":
- case "4":
- case "5":
- case "6":
- case "7":
- case "8":
- case "9":
- case "10":
- userNumLine = Convert.ToInt32(userNumLineString);
- goodLine = true;
- break;
- }
- Console.Write("Введите количество столбцов (максимум 10): ");
- userNumRowString = Console.ReadLine();
- switch (userNumRowString)
- {
- case "1":
- case "2":
- case "3":
- case "4":
- case "5":
- case "6":
- case "7":
- case "8":
- case "9":
- case "10":
- userNumRow = Convert.ToInt32(userNumRowString);
- goodRow = true;
- break;
- }
- if (goodLine == true && goodRow == true)
- {
- goodNumMassive = true;
- }
- else
- {
- Console.ForegroundColor = ConsoleColor.DarkRed;
- Console.WriteLine("\nНе корректный запрос.");
- Console.WriteLine("\nДля возврата в меню нажмите любую клавишу.");
- Console.ForegroundColor = ConsoleColor.White;
- Console.ReadKey();
- break;
- }
- }
- int[,] tempMassive = new int[userNumLine, userNumRow];
- for (int i = 0; i < userNumLine; i++)
- {
- for (int j = 0; j < userNumRow; j++)
- {
- tempMassive[i, j] = random.Next(0, 10);
- }
- }
- userMassive = tempMassive;
- break;
- case "2":
- Console.Write("Введите номер строки: ");
- chooseLine = Convert.ToInt32(Console.ReadLine());
- sumLine = 0;
- if (chooseLine > 0 && chooseLine <= userMassive.GetLength(0))
- {
- for (int i = 0; i < userMassive.GetLength(1); i++)
- sumLine += userMassive[chooseLine - 1, i];
- }
- else
- {
- Console.ForegroundColor = ConsoleColor.DarkRed;
- Console.WriteLine("\nНе корректный запрос. Максимальный номер строки: " + userMassive.GetLength(0));
- Console.WriteLine("\nДля возврата в меню нажмите любую клавишу.");
- Console.ForegroundColor = ConsoleColor.White;
- Console.ReadKey();
- break;
- }
- Console.WriteLine("\nСумма " + chooseLine + " строки = " + sumLine);
- Console.WriteLine("\nДля возврата в меню нажмите любую клавишу.");
- Console.ReadKey();
- break;
- case "3":
- Console.Write("Введите номер столбца: ");
- chooseRow = Convert.ToInt32(Console.ReadLine());
- sumRow = 1;
- if (chooseRow > 0 && chooseRow <= userMassive.GetLength(1))
- {
- for (int i = 0; i < userMassive.GetLength(0); i++)
- sumRow *= userMassive[i , chooseRow - 1];
- }
- else
- {
- Console.ForegroundColor = ConsoleColor.DarkRed;
- Console.WriteLine("\nНе корректный запрос. Максимальный номер столбца: " + userMassive.GetLength(1));
- Console.WriteLine("\nДля возврата в меню нажмите любую клавишу.");
- Console.ForegroundColor = ConsoleColor.White;
- Console.ReadKey();
- break;
- }
- Console.WriteLine("\nПроизведение " + chooseRow + " столбца = " + sumRow);
- Console.WriteLine("\nДля возврата в меню нажмите любую клавишу.");
- Console.ReadKey();
- break;
- case "4":
- int[,] tempMaxElement = userMassive;
- int maxElement = int.MinValue;
- // находим элемент массива с максимальным значением
- for (int i = 0; i < tempMaxElement.GetLength(0); i++)
- {
- for (int j = 0; j < tempMaxElement.GetLength(1); j++)
- {
- if (maxElement < tempMaxElement[i, j])
- {
- maxElement = tempMaxElement[i, j];
- }
- }
- }
- // заменяем макс. элементы массива на 0
- for (int i = 0; i < tempMaxElement.GetLength(0); i++)
- {
- for (int j = 0; j < tempMaxElement.GetLength(1); j++)
- {
- if (maxElement == tempMaxElement[i, j])
- {
- tempMaxElement[i, j] = 0;
- }
- }
- }
- Console.WriteLine("\nЗначение максимального элемента = " + maxElement);
- Console.WriteLine("\nДля возврата в меню нажмите любую клавишу.");
- Console.SetCursorPosition(23, 19);
- Console.WriteLine($"Массив с заменой макс. элемента на 0:");
- for (int i = 0; i < tempMaxElement.GetLength(0); i++)
- {
- for (int j = 0; j < tempMaxElement.GetLength(1); j++)
- {
- Console.SetCursorPosition(23 + j*2, 21 + i);
- Console.Write($"{tempMaxElement[i, j]} ");
- }
- Console.WriteLine();
- }
- Console.SetCursorPosition(0, 0);
- Console.ReadKey();
- break;
- }
- Console.Clear();
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement