ANTICHAT Forum
HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
НОВЫЕ ТОРГОВАЯ НОВОСТИ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #11  
Старый 19.11.2009, 02:45
Linkus
Участник форума
Регистрация: 20.12.2008
Сообщений: 130
С нами: 9152722

Репутация: 11
По умолчанию

Цитата:
Сообщение от Vinsik  
Привет всем!
Спасайте срочно пожалуйста!)
Паскаль:
Упорядочить массив А(20) методом слияния.
Код:
Program SlivSort;
const arrsize= 20;
Var A,B : array[1..20] of integer;
    N,i  : integer;
Procedure Sliv(p,q : integer); {процедура сливающая массивы}
Var r,i,j,k : integer;
Begin
 r:=(p+q) div 2;
 i:=p;
 j:=r+1;
 for k:=p to q do
 if (i<=r) and ((j>q) or (a[i]<a[j])) then
  begin
   b[k]:=a[i];
   i:=i+1;
  end
 else
  begin
   b[k]:=a[j];
   j:=j+1;
  end ;
 for k:=p to q do
a[k]:=b[k];
End;
Procedure Sort(p,q : integer); {p,q - индексы начала и конца сортируемой части массива}
Begin
 if p<q then {массив из одного элемента тривиально упорядочен}
 begin
  Sort(p,(p+q) div 2);
  Sort((p+q) div 2 + 1,q);
  Sliv(p,q);
 end;
End;
Begin
 {Определение размера массива A - N) и его заполнение}
 randomize;
 for i:= 1 to arrsize do begin
	A[i]:= random(50);
	write(A[i],' ');
	end;
 Writeln;

 {запуск сортирующей процедуры}
 Sort(1,arrsize);
 {Вывод отсортированного массива A}
  for i:= 1 to arrsize do write(a[i],' ');
 readln;
End.
 
Ответить с цитированием
 



Предыдущая тема Следующая тема
Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Американским студентам запретили пользоваться Skype KPOT_f!nd Мировые новости. Обсуждения. 1 28.09.2006 03:47
Любителям квестов сюда!! FoX's Болталка 10 25.01.2005 20:42



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.