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