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

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

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

Добрый день! Есть код. Моя задача - сделать меню, предусмотреть ошибки. Но выдает ошибку, не могу разобраться. Ввести натуральное n, состоящее из записи цифрами 0,1,2 и 3. На выходе n должно быть таким, что вначале записи идут 0, затем 1,2 и 3.
Листинг программы
  1. int n;
  2. Console.WriteLine("Введите длину числа:\n");
  3. n = Convert.ToInt32(Console.ReadLine());
  4. int ch;
  5. int[] x = new int[n];
  6. for (; ; )
  7. {
  8. try
  9. {
  10. Console.Write("\nВведите число:\n");
  11. for (int i = 0; i < n; i++)
  12. {
  13. x[i] = Convert.ToInt32(Console.ReadLine());
  14. }
  15. }
  16. catch (FormatException)
  17. {
  18. Console.WriteLine("Неверный формат записи");
  19. }
  20. Console.WriteLine("Исходный массив:\n");
  21. for (int i = 0; i <= n - 1; ++i)
  22. Console.Write(" " + x[i]);
  23. for (int j = 0; j <= n - 1; j++)
  24. {
  25. bool exch = false;
  26. for (int i = 0; i <= n - 2 - j; ++i)
  27. if (x[i] > x[i + 1])
  28. {
  29. ch = x[i + 1];
  30. x[i + 1] = x[i];
  31. x[i] = ch;
  32. exch = true;
  33. }
  34. if (exch == false) break;
  35. }
  36. Console.WriteLine();
  37. Console.WriteLine("\nРезультирующий массив:\n");
  38. for (int i = 0; i <= n - 1; ++i)
  39. {
  40. Console.Write(" " + x[i]);
  41. }
  42. Console.ReadKey();
  43. break;
  44. }
Листинг программы
  1. class Program
  2. {
  3. static void Main(string[] args)
  4. {
  5. int ch, n = 0, b;
  6. int[] x = new int[n];
  7. do
  8. {
  9. Console.WriteLine("Нажмите 1 и Enter для ввода длину числа ");
  10. Console.WriteLine("Нажмите 2 и Enter для ввода числа ");
  11. Console.WriteLine("Нажмите 3 и Enter для просмотра исходного массива ");
  12. Console.WriteLine("Нажмите 4 и Enter для получения нового массива");
  13. Console.WriteLine("Нажмите 5 и Enter для выхода из программы ");
  14. b = Convert.ToInt32(Console.ReadLine());
  15. switch (b)
  16. {
  17. case 1:
  18. Console.Write("\nВведите число:\n");
  19. n = Convert.ToInt32(Console.ReadLine()); break;
  20. case 2:
  21. Console.Write("\nВведите число:\n");
  22. for (int i = 0; i < n; i++)
  23. {
  24.  
  25. x[i] = Convert.ToInt32(Console.ReadLine());
  26. }
  27. break;
  28. case 3:
  29. Console.WriteLine("Исходный массив:\n");
  30. for (int i = 0; i <= n - 1; ++i)
  31. Console.Write(" " + x[i]); break;
  32. case 4:
  33. for (int j = 0; j <= n - 1; j++)
  34. {
  35. bool exch = false;
  36. for (int i = 0; i <= n - 2 - j; ++i)
  37. if (x[i] > x[i + 1])
  38. {
  39. ch = x[i + 1];
  40. x[i + 1] = x[i];
  41. x[i] = ch;
  42. exch = true;
  43. }
  44. if (exch == false) break;
  45. } break;
  46. case 5:
  47. Console.WriteLine();
  48. Console.WriteLine("\nРезультирующий массив:\n");
  49. for (int i = 0; i <= n - 1; ++i)
  50. {
  51. Console.Write(" " + x[i]);
  52. } break;
  53. }
  54. }
  55. while (b < 5);
  56. }
  57. }

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

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

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


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

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

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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут