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

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

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.11.2016, 21:49   #1
Кодер2
Пользователь
 
Регистрация: 02.11.2016
Сообщений: 34
По умолчанию Дана последовательность чисел a1, a2 , ., an. Представить в порядке возрастания. Сортировка обменом.

Дана последовательность чисел a1, a2 , ..., an. Требуется представить числа в порядке возрастания. Для этого сравниваются два соседних числа ai и ai +1. Если ai > ai +1, то делается перестановка. Так продолжается до тех пор, пока все элементы не будут расположены в порядке возрастания. Составить алгоритм сортировки, подсчитывая при этом количество перестановок.
Кодер2 вне форума Ответить с цитированием
Старый 02.11.2016, 22:17   #2
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Код:
public class Program
    {
        public static void Main(string[] args)
        {
            int size;
            int i;
            bool inOrder = false;
            size = Int32.Parse(Console.ReadLine());
            int[] a = new int[size];
            Random rnd = new Random();
            int swaps = 0;
            for(i=0;i<a.Length;i++) 
            {
                a[i]=rnd.Next(1,20);
                Console.Write(a[i]+" ");
            }
            Console.WriteLine();
            i=0;
            while(!inOrder)
            {
             i=0;
             inOrder=true;
             while(i<a.Length-1)
             {
                 if(a[i]>a[i+1])
                 {
                     int h = a[i];
                     a[i]=a[i+1];
                     a[i+1]=h;
                     swaps++;
                     inOrder = false;
                 }
                 else
                     i++;
             }
            }
            for(i=0;i<a.Length;i++) Console.Write(a[i]+" ");
            Console.WriteLine("\n"+swaps);
        }
    }
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сортировка чисел в строке в порядке возрастания (Си) Dionisius Помощь студентам 1 28.01.2016 10:00
Сортировка чисел в строке в порядке возрастания) Dionisius Общие вопросы C/C++ 0 27.01.2016 01:58
Дана непустая последовательность вещественных чисел, оканчивающаяся числом 1000. Последовательность является неубывающей. fanatloko Паскаль, Turbo Pascal, PascalABC.NET 1 23.06.2013 14:25
ФОРТРАН создать последовательность номеров в порядке возрастания елемента с номером vova_ Помощь студентам 0 09.12.2011 00:50
Дана последовательность чисел a1, a2, …, an. Требуется переставить числа в порядке возрастания. Figushkin Помощь студентам 1 24.05.2010 20:44