Ошибка в коде. Массивы - C#

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

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

Добрый день! Есть код. Моя задача - сделать меню, предусмотреть ошибки. Но выдает ошибку, не могу разобраться. Ввести натуральное n, состоящее из записи цифрами 0,1,2 и 3. На выходе n должно быть таким, что вначале записи идут 0, затем 1,2 и 3.
   int n;
            Console.WriteLine("Введите длину числа:\n");
            n = Convert.ToInt32(Console.ReadLine());
            int ch;
            int[] x = new int[n];
            for (; ; )
            {
                try
                {
                    Console.Write("\nВведите число:\n");
                    for (int i = 0; i < n; i++)
                    {                    
                        x[i] = Convert.ToInt32(Console.ReadLine());                   
                    }
                }
                catch (FormatException)
                {
                    Console.WriteLine("Неверный формат записи");
                }
                Console.WriteLine("Исходный массив:\n");
                for (int i = 0; i <= n - 1; ++i)
                    Console.Write(" " + x[i]);
                for (int j = 0; j <= n - 1; j++)
                {
                    bool exch = false;
                    for (int i = 0; i <= n - 2 - j; ++i)
                        if (x[i] > x[i + 1])
                        {
                            ch = x[i + 1];
                            x[i + 1] = x[i];
                            x[i] = ch;
                            exch = true;
                        }
                    if (exch == false) break;
                }
                Console.WriteLine();
                Console.WriteLine("\nРезультирующий массив:\n");
                for (int i = 0; i <= n - 1; ++i)
                {
                    Console.Write(" " + x[i]);  
                } 
                Console.ReadKey();
                break;    
             }
   class Program
    {
        static void Main(string[] args)
        {
            int ch, n = 0, b;
            int[] x = new int[n];
            do
            {
                Console.WriteLine("Нажмите 1 и Enter для ввода длину числа ");
                Console.WriteLine("Нажмите 2 и Enter для ввода числа ");
                Console.WriteLine("Нажмите 3 и Enter для просмотра исходного массива ");
                Console.WriteLine("Нажмите 4 и Enter для получения нового массива");
                Console.WriteLine("Нажмите 5 и Enter для выхода из программы ");
                b = Convert.ToInt32(Console.ReadLine());
                switch (b)
                {
                    case 1:
                        Console.Write("\nВведите число:\n");
                        n = Convert.ToInt32(Console.ReadLine()); break;
                    case 2:
                        Console.Write("\nВведите число:\n");
                        for (int i = 0; i < n; i++)
                        {

                            x[i] = Convert.ToInt32(Console.ReadLine());
                        }
                        break;
                    case 3:
                        Console.WriteLine("Исходный массив:\n");
                        for (int i = 0; i <= n - 1; ++i)
                            Console.Write(" " + x[i]); break;
                    case 4:
                        for (int j = 0; j <= n - 1; j++)
                        {
                            bool exch = false;
                            for (int i = 0; i <= n - 2 - j; ++i)
                                if (x[i] > x[i + 1])
                                {
                                    ch = x[i + 1];
                                    x[i + 1] = x[i];
                                    x[i] = ch;
                                    exch = true;
                                }
                            if (exch == false) break;
                        } break;
                    case 5:
                        Console.WriteLine();
                        Console.WriteLine("\nРезультирующий массив:\n");
                        for (int i = 0; i <= n - 1; ++i)
                        {
                            Console.Write(" " + x[i]);
                        } break;
                }
            }
            while (b < 5);
            
            }
    }

Решение задачи: «Ошибка в коде. Массивы»

textual
Листинг программы
int ch, n = 0, b;
int[] x = new int[n];

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


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

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

8   голосов , оценка 4 из 5