42553

Швидке сортування

Лабораторная работа

Информатика, кибернетика и программирование

Завдання: розробити програму, що забезпечує сортування вхідного файлу методом швидкого сортування. Вхідний файл містить в собі двовимірний масив чисел цілого типу, всі елементи якого слід відсортувати за зростанням, причому зробити це окремо в кожному рядку.

Украинкский

2013-10-30

31 KB

2 чел.

Міністерство освіти і науки України

Хмельницький національний університет

Кафедра системного програмування

Лабораторна робота №2

З дисципліни структури даних і алгоритми

Тема: 

«Швидке сортування»

 

                                                                                       Виконав ст. гр. КІ-10-3

                                                                    Матвєєв П.

                                                                                          Перевірив Кльоц Ю. П.

Хмельницький 2011

Завдання: розробити програму, що забезпечує сортування вхідного файлу методом швидкого сортування. Вхідний файл містить в собі двовимірний масив чисел цілого типу, всі елементи якого слід відсортувати за зростанням, причому зробити це окремо в кожному рядку.

Лістинг програми:

uses crt;

const n=8;

type mas=array[1..n,1..n] of integer;

     tmas=array[1..n] of integer;

var m:mas; m2:tmas;

    i,j: integer;

    t: text;

procedure gen(var m:mas; var t:text);

var i,j:integer;

 begin

 randomize;

 rewrite(t);

 for i:=1 to n do begin

 for j:=1 to n do begin

 m[i,j]:=random(10);

 write(t,m[i,j],' ');

 end;

 writeln(t);

 end;

 close(t);

end;

procedure qsort(var m2:tmas; left,right:integer);

var j:integer;

    l,r:integer;

    temp,sred:integer;

 begin

 l:=left; r:=right;

 sred:=round((left+right) div 2);

 repeat

  while (m2[l]>sred) do inc(l);

  while (m2[r]<sred) do dec(r);

  if l<r then begin

   temp:=m2[l];

   m2[l]:=m2[r];

   m2[r]:=temp;

   inc(l); dec(r);

  end;

  until l>r;

  if left<r then qsort(m2,left,r);

  if l<right then qsort(m2,l,right);

 end;

 procedure regen(var m2:tmas; var t:text);

 var i,j:integer;

  begin

  rewrite(t);

  for j:=1 to n do begin

  write (t,m2[j],' ');

  writeln(t);

  end;

  close(t);

 end;

begin

 assign(t,paramstr(1));

 gen(m,t);

 for i:=1 to n do begin

  for j:=1 to n do m2[j]:=m[i,j];

  qsort(m2,1,n);

  for j:=1 to n do m[i,j]:=m2[j];

  regen(m2,t)

 end;

end.

Результат:

Вміст вихідного файлу:

0 1 2 3 3 3 3 7

0 1 3 4 4 6 6 8

1 1 1 4 5 6 7 8

0 1 1 5 6 8 8 9

0 1 1 1 3 8 8 9

0 1 1 2 4 5 6 9

0 0 1 1 4 4 5 8

2 2 3 3 4 6 6 6


 

А также другие работы, которые могут Вас заинтересовать

75466. Анализ проекта и основные инструменты анализа проекта в ИС Project Expert 26 KB
  Анализ проекта и основные инструменты анализа проекта в ИС Project Expert В процессе расчетов Project Expert автоматически генерирует стандартные отчетные бухгалтерские документы: отчет о прибылях и убытках; бухгалтерский баланс; отчет о движении денежных средств. После определения наиболее вероятного сценария проекта он принимается за базовый. На основе базового варианта проекта производится анализ чувствительности и определяются критические значения наиболее важных факторов влияющих на финансовый результат проекта. После завершения...
75467. Состав СУБД MS Access 24.5 KB
  Состав СУБД MS ccess Система управления базами данных это комплекс программных и языковых средств необходимых для создания обработки баз данных и поддержания их в актуальном состоянии . Почти все современные СУБД основаны на реляционной модели данных. При определении структуры данных в базе данных выделяют следующие основные понятия. ccess позволяет создавать сложные базы данных определяя структуру таблиц связи между ними.
75468. Состав пакета прикладных программ Project Expert 24.5 KB
  Состав пакета прикладных программ Project Expert Project Expert включает следующие разделы: Проект Компания Окружение Инвестиционный план Операционный план Финансирование Результаты Анализ проекта Актуализация. Раздел Проект является первым в содержании Project Expert и изначально доступен после открытия или создания проекта. Он предназначен для ввода общей информации о проекте настройки модулей расчета и отображения данных проекта. В разделе Компания можно осуществить ввод данных характеризующих финансовоэкономическое...
75469. Работа с документами в ИС 1С: Предприятие 45.5 KB
  Работа с документами в ИС 1С: Предприятие Документы служат для ввода информации о совершенных хозяйственных операциях. В Конфигураторе создается не сам документ а шаблон документа который является средством ввода документа. Конфигуратор позволяет описать структуру документа организовать диалог для ввода информации в документ и описать алгоритм построения печатной формы документа. В большинстве документов выделяются две части: заголовочная часть содержит реквизиты которые являются общими для всего документа; табличная или...
75470. Понятие формы, сложные иерархическик формы в СУБД Access 49.5 KB
  Понятие формы сложные иерархическик формы в СУБД ccess Формы являются основным средством организации интерфейса пользователя в приложениях ccess. Хорошо разработанные формы позволяют работать с приложением даже неподготовленному пользователю. Чаще всего формы создаются в следующих целях: – ввод и редактирование данных – это наиболее распространенный способ использования форм. Формы обеспечивают вывод на экран данных в удобном для пользователя виде.
75471. Оценка бизнеса и его основное содержание в Project Expert 21 KB
  Оценка бизнеса и его основное содержание в Project Expert Если вы занимаетесь оценкой эффективности инвестиций в проект а также если требуется рассчитать стоимость активов предприятия например при его ликвидации Project Expert удобно использовать для оценки стоимости бизнеса. Пользователь системы может использовать метод дисконтирования денежных потоков для оценки стоимости бизнеса на момент начала проекта или для прогнозирования ее на разных этапах реализации проекта. Для оценки стоимости бизнеса в постпрогнозный период в системе...
75472. Журналы документов системы 1С: Предприятие 50.5 KB
  Журналы документов системы 1С: Предприятие Журналы представляют собой списки объектов данных типа Документ и служат для работы с документами. Один журнал этого типа может быть назначен одновременно нескольким видам документов но документы одного вида всегда будут доступны только в одном простом журнале. Выбор документов которые будут доступны в общем журнале выполняется только при редактировании общего журнала. Существует два вида общих журналов: общий журнал с признаком Все документы позволяет выполнить отбор документов по...
75473. Понятие объекта формы, основные объекты и их свойства в СУБД MS Access 58.5 KB
  Понятие объекта формы основные объекты и их свойства в СУБД MS ccess Панель элементов используется для размещения объектов в форме. Размещение в форме произвольного текста. Размещение в форме данных из соответствующего поля базовой таблицы запроса вывод результатов вычислений а также прием данных вводимых пользователем. Создание командной кнопки позволяющей осуществлять разнообразные действия в форме поиск записей печать отчета установка фильтров и т.
75474. Определение и сущность понятия «Кэш-фло» в ИС Project Expert 24 KB
  Он является основным документом предназначенным для определения потребности в капитале выработки стратегии финансирования предприятия а также для оценки эффективности использования капитала. По сути дела CshFlow является основным документом предназначенным для определения потребности в капитале выработки стратегии финансирования предприятия а также для оценки эффективности использования капитала. Отрицательное значение сальдо расчетного счета означает что ваше предприятие не располагает необходимой суммой капитала. Важно учесть и...