Ошибка в коде. Массивы - 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];
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д