Метод сортировки пузырьком, исправить код - C#

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

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

Метод сортировки пузырьком. Когда ввожу числа, то ссылается на эту строку int n = int.Parse(Console.ReadLine()); Не могу разобраться в чем дело. Код на C#: Код:
class Program
    {
        static void Main(string[] args)
        {
  while (true)
            {
                Console.Write("введите размерность массива: ");
                int n = int.Parse(Console.ReadLine());
                if (n > 10)
                    Console.WriteLine("размерность массива не должна превышать 10 элементов\nповторите ввод!");
                else
                {
                    int[] mas = new int[n];
                    Console.WriteLine("заполните массив:");
                    for (int i = 0; i < n; ++i)
                    {
                        mas[i] = Convert.ToInt32(Console.ReadLine());
                    }
                    for (int j = 0; j < n - 1; ++j)
                    {
                        for (int i = 0; i < n - j - 1; ++i)
                        {
                            if (mas[i] <= mas[i + 1])
                            {
                                int m = mas[i];
                                mas[i] = mas[i + 1];
                                mas[i + 1] = m;
                            }
                        }
                    }
                    Console.WriteLine("полученный массив:");
                    for (int i = 0; i < n; ++i)
                    {
                        Console.Write(mas[i] + " \t");
                    }
                    Console.WriteLine();
                    Console.WriteLine("повторить?да-0,нет-1");
                    int otvet = int.Parse(Console.ReadLine());
                    if (otvet != 0)
                        break;
                }
            }
        }
    }
}
И ещё, нужно сделать не сложную лабу на С#, кто заинтересован - пишите.

Решение задачи: «Метод сортировки пузырьком, исправить код»

textual
Листинг программы
//Rextester.Program.Main is the entry point for your code. Don't change it.
//Compiler version 4.0.30319.17929 for Microsoft (R) .NET Framework 4.5
 
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text.RegularExpressions;
 
namespace Rextester
{
    public class Program
    {
        public static void Main(string[] args)
        {
            var numbers = new int[] { 4, 9, 11, 1, 3, 7, 17, 34, 29, 61, -12, 2, -6, 42};
            DisplayNumbers(numbers);
            
            var count = numbers.Length - 1;
            
            for (int i = 0; i < numbers.Length - 1; i++, count--)
            {
                for (int j = 0; j < count; j++)
                {
                    int firstNumber = numbers[j];
                    int secondNumber = numbers[j + 1];
                    
                    if (secondNumber < firstNumber)
                    {
                        numbers[j] = secondNumber;
                        numbers[j + 1] = firstNumber;
                    }
                }
            }
            
            Console.WriteLine();
            DisplayNumbers(numbers);
        }
        
        public static void DisplayNumbers(int[] numbers)
        {
            for (int i = 0; i < numbers.Length; i++)
            {
                Console.WriteLine(numbers[i]);
            }
        }
    }
}

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


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

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

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