Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.10.2012, 19:32   #1
evgeniyhbk
 
Регистрация: 19.04.2011
Сообщений: 9
По умолчанию Сортировка на С#

Нужно отсортировать любые введенные числа методом пузырька.
Написал код, но не сортируется, не знаю, что не так.

Код:
static void Main(string[] args)
        {
            Console.WriteLine("Введите элементы массива: ");
            // Считываем размер массива
            int set = 10;
            if (set > 10)
            {
                Console.WriteLine("Количество элементов массива не должно превышать 10");
            }
           set = Convert.ToInt32(Console.ReadLine());

            int[] a = new int[set];

            string str = Console.ReadLine();
            string[] mas = str.Split(' ');
            int[] b = new int[set];


            for (int i = 0; i < set; i++)
            {
               b[i] = int.Parse(mas[i + 1]);
            }
            int past;
            //цикл алгоритма совершает ровно set итераций
            for (int i = 0; i < set; i++)
            {
                for (int j = set - 1; j > i; j--)
                {
                    //если слева больший элемент меняем местами с правым элементом
                    if (a[j] < a[j - 1])
                    {
                        past = a[j];
                        a[j] = a[j - 1];
                        a[j - 1] = past;
                        Console.Write(a[i]);
                        Console.Write(' ');
                        Console.WriteLine(a);
                    }
                }


                // Выводим отсортированный массив

                for (int i = 0; i < set; i++)
               
                    Console.ReadKey();
                }

            }
        }
    }

Последний раз редактировалось Stilet; 23.10.2012 в 19:54.
evgeniyhbk вне форума Ответить с цитированием
Старый 23.10.2012, 19:35   #2
Luuzuk
Форумчанин
 
Аватар для Luuzuk
 
Регистрация: 18.01.2012
Сообщений: 975
По умолчанию

Любезный, у вас тут такой бред написан..... пытались из разных программ кусочков натаскать, или сами все написали?
Благодарить в репутацию. Проклинать — туда же
Luuzuk вне форума Ответить с цитированием
Старый 23.10.2012, 19:56   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Сортировка должна так выглядеть:
Код:
  
            int past;
            //цикл алгоритма совершает ровно set итераций
            for (int i = 0; i < set; i++)
            {
                for (int j =i; j < set; j++)
                {
                    //если слева больший элемент меняем местами с правым элементом
                    if (a[j] < a[i])
                    {
                        past = a[j];
                        a[j] = a[i];
                        a[i] = past;
                    }
                }


                // Выводим отсортированный массив

                for (int i = 0; i < set; i++)
                   Console.Write(a[i]); Console.Write(' ');
                   
                } 
 Console.ReadKey();
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 23.10.2012, 22:16   #4
Serg94
Форумчанин
 
Аватар для Serg94
 
Регистрация: 10.12.2011
Сообщений: 167
По умолчанию вроде так.

Код:
namespace ConsoleApplication1
{
    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;
                }
            }
        }
    }
}
Serg94 вне форума Ответить с цитированием
Старый 18.11.2012, 02:52   #5
evgeniyhbk
 
Регистрация: 19.04.2011
Сообщений: 9
По умолчанию

После ввода чисел выводит на строку при компиляции - set = Convert.ToInt32(Console.ReadLine()) ;

И не хочет сортировать
evgeniyhbk вне форума Ответить с цитированием
Старый 18.11.2012, 12:52   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
выводит на строку
Ну а ругается то как?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Быстрая сортировка(сортировка Хоара). Сортировка фрагмента массива [C++] druger Помощь студентам 0 20.04.2012 15:49
Сортировка Шелла и Шейкер-сортировка AleksandrMakarov Паскаль, Turbo Pascal, PascalABC.NET 11 11.03.2012 12:18
Сортировка массива методами предсортировки и слияния, и пирамидальная сортировка. lenny_24 Помощь студентам 2 17.04.2011 18:57
паскаль,одномерный массив,сортировка вставка,сортировка убывания,от максимального до конца немозг Помощь студентам 11 06.02.2010 21:57
Сортировка файлов в Explorer vs сортировка в Delphi mutabor Общие вопросы Delphi 11 04.09.2009 14:32