42548

Сортування методом вставок

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

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

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

Украинкский

2013-10-30

29.5 KB

2 чел.

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

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

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

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

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

Тема: 

«Сортування методом вставок»

 

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

                                                                    Матвєєв П.

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

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

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

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

uses crt;

const n=8;

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

var m:mas;

    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 sort(var m:mas; var j:integer);

var i,k,temp,p:integer;

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

 begin

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

 for k:=2 to n do begin

  temp:=tmas[k]; p:=k-1;

  While (p>0) and (temp<tmas[p]) do begin

   tmas[p+1]:=tmas[p];p:=p-1;

   end;

  tmas[p+1]:=temp;

 end;

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

 end;

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

 var i,j:integer;

  begin

  rewrite(t);

  for i:=1 to n do begin

  for j:=1 to n do begin

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

  end;

  writeln(t);

  end;

  close(t);

 end;

begin

assign(t,paramstr(1));

gen(m,t);

for j:=1 to n do sort(m,j);

regen(m,t);

end.

Результат:

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

0 4 0 0 0 1 0 0

2 6 0 1 1 2 0 2

3 6 1 3 1 3 1 2

3 7 2 3 6 4 1 4

4 7 5 5 6 5 1 5

5 7 5 6 7 5 2 5

8 7 6 9 8 7 3 7

9 8 7 9 9 7 9 9


 

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

6840. Служба каталогов Active Directory и использование групповых политик 239 KB
  Служба каталогов ActiveDirectory и использование групповых политик СЛУЖБА КАТАЛОГОВ Общие сведения о службе каталогов На заре компьютеризации все управление пользователями сводилось к администрированию одного единственного сервера. Со...
6841. Конфігурація RIP і її перевірка 148.5 KB
  Конфігурація RIP і її перевірка Завдання Реалізувати маршрутизацію RIP і переконатися, що виконується динамічна заміна мережевих маршрутів. Позначення маршрутизатора Назва маршрутів-тізатора Адреса інтерфейсу Fast Ethernet 0 Адреса послідовног...
6842. Налаштування стандартних ACL 486.5 KB
  Налаштування стандартних ACL. Мета навчання Після завершення цієї лабораторної роботи ви зможете: Розробляти стандарти імен і розширені списки управління доступом ACLs. Застосовувати стандарти імен і розширені списки управління доступом...
6843. Усунення несправностей корпоративних мереж 386 KB
  Усунення несправностей корпоративних мереж Мета навчання Після завершення цієї лабораторної роботи ви зможете: З'єднайти мережу відповідно до топологічної діаграми Стертипоточну конфігурацію і перезавантажит...
6844. Основы настройки сетевых устройств CISCO 145.5 KB
  Основы настройки сетевых устройств CISCO Цель работы: познакомиться с устройством маршрутизаторов, основами операционной системы IOS, протоколами маршрутизации и списками контроля доступа. План работы: Настройте адреса всех сетевых интерфейсов...
6845. Налаштування IPSec VPN засобами IOS 416 KB
  Налаштування IPSecVPN засобами IOS Завдання роботи: Налаштування EIGRP на маршрутизаторах Створення IPSecVPN між двома маршрутизаторами Перевірка функціонування IPSec Топологія Сценарій У даній роботі ви налаштуєте VPN ...
6846. Захист GRE-тунеля 365 KB
  Захист GRE-тунеля Завдання роботи: Створення GRE тунеля між двома маршрутизаторами Використання IPSec для захисту тунеля Топологія Сценарій У даній роботі ви налаштуєте GRE - тунель (GenericRoutingEncapsulation), захище...
6847. Налаштування контекстного контролю доступу 173 KB
  Налаштування контекстного контролю доступу Завдання роботи: Навчитися налаштовувати правила контекстного контролю доступу на маршрутизаторах Топологія Сценарій Контекстний контроль доступу (CBAC - Context Based Access Control) є...
6848. Програмування зовнішніх пристроїв 60.01 KB
  Програмування зовнішніх пристроїв Мета роботи: Навчитись розробляти програми виводу/вводу інформації через інтерфейс USB, а також використовувати функції третіх фірм. Хід виконання роботи Вивчити будову інтерфейса USB (наприклад, М.Гук Интерфейс...