Прервать заполнение двумерного массива нажатием какой-либо клавиши - C#

Узнай цену своей работы

Формулировка задачи:

Здравствуйте. Есть двумерный массив, заполняемый вручную.
public void InputMassive()
    {
        int[,] mas = new int[5, 5];
        string[] s;
        for (int i = 0; i < mas.GetLength(0); i++)
        {
            s = Console.ReadLine().Split(' ');
 
            for (int j = 0; j < mas.GetLength(1); j++)
                mas[i, j] = int.Parse(s[j]);
        }
        for (int i = 0; i < mas.GetLength(0); i++)
        {
            for (int j = 0; j < mas.GetLength(1); j++)
                Console.Write(mas[i, j]);
            Console.WriteLine();
        }
    }
Как сделать, чтобы заполнение массива прерывалось нажатием клавиши например "Q", после чего отображался незаполненный массив по типу : 12345 12345 // Здесь я нажал на "Q" 00000 00000 00000 Помогите, пожалуйста, с этим разобраться, только недавно самостоятельно начал изучать c#, без опыта в программировании.

Решение задачи: «Прервать заполнение двумерного массива нажатием какой-либо клавиши»

textual
Листинг программы
public static void Main()
        {
            ConsoleKeyInfo cki = new ConsoleKeyInfo();
            int[,] mas = new int[5,5];
            string[] s;
            int di = 0;
            do
            {
                Console.WriteLine("\nВведите массив; Нажмите 'x', чтобы прервать ввод массива");
                for (int i = 0; i < mas.GetLength(0); i++)
                {
                    di++;                    
                    s = Console.ReadLine().Split(' ');
                    for (int j = 0; j < mas.GetLength(1); j++)
                    {
                        mas[i, j] = int.Parse(s[j]);                        
                    }
                    cki = Console.ReadKey(true);
                    if (cki.Key == ConsoleKey.Q ^ di == 5)
                    {
                        break;
                    }
                } 
                Console.WriteLine("Вы нажали кнопку'{0}'.", cki.Key);
            } while (cki.Key != ConsoleKey.Q ^ di==5);
            for (int i = 0; i < mas.GetLength(0); i++)
            {
                for (int j = 0; j < mas.GetLength(1); j++)
                    Console.Write(mas[i, j]);
                Console.WriteLine();
            }
        }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4.091 из 5
Похожие ответы