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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.05.2014, 14:17   #1
ALEXandr20333
Пользователь
 
Регистрация: 12.02.2014
Сообщений: 76
По умолчанию Правельный ли код

Задан массив X[1..20], элементы которого выбираются случайным образом из отрезка [-30, 80]. Отсортировать все элементы с 5-го по 15-й по убыванию с помощью быстрой сортировки.
вот подскажите это подойдет для решения этой задачи procedure quicksort;
Код:
procedure sort (l,r: index);
var i, j: index;
   x,w: item;
begin 
i := l; j : = r;
x:= a[(l+r) dlv 2]; 
repeat
while a[i] < x  do i:= i+1;
while x < a[j] do j : = j-1;
 if i <=j then
 	begin w := a[i]; a[i] := a[j]; a[j]:= w; 
i:= i+1; j:= j-1;
end 
until j > i; 

if l< j then sort(l,j); 
if i < r then sort(i,r);
end ;
begin sort(l,n) 
end{quicksort

Последний раз редактировалось Stilet; 20.05.2014 в 20:00.
ALEXandr20333 вне форума Ответить с цитированием
Старый 20.05.2014, 14:33   #2
ZX Spectrum-128
Участник клуба
 
Регистрация: 05.11.2013
Сообщений: 1,602
По умолчанию

Этот код из примеров, шедших в комплекте с borland pascal. Почему он должен быть неправильным.
ZX Spectrum-128 вне форума Ответить с цитированием
Старый 20.05.2014, 17:59   #3
ALEXandr20333
Пользователь
 
Регистрация: 12.02.2014
Сообщений: 76
По умолчанию а?

значит его как то можно реализовать и в задачи???????????
ALEXandr20333 вне форума Ответить с цитированием
Старый 20.05.2014, 20:01   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Ну почему бы нет )
Чего стесняешься - попробуй. Если что - подкорректируем.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 22.05.2014, 09:14   #5
ALEXandr20333
Пользователь
 
Регистрация: 12.02.2014
Сообщений: 76
По умолчанию

Код:
const n = 20;
type myarray = array[1..n] of integer;
var a:myarray;
Procedure sorting1(var a:myarray);
var i,j,k,m:integer;
begin
for i:= n downto 2 do
begin
k:=i; m:=a[i];
for j:= 1 to i-1 do
if a[j] > m then begin k:=j; m:=a[k] end;
if k <> i then
begin a[k]:=a[i]; a[i]:= m; end;
end;
end;
var i,j:integer;
k,m:integer;
begin

   for i:=1 to n do begin a[i]:=random(30)+80;
   sorting1(a);
   writeln('Îòñîðòèðîâàíí
ûé ìàññèâ8:');
   for i:=1 to 20 do write(a[i],' ');
   writeln;
   end;
end.

не знаю как но по-мойму вот так если нет то помоги

Последний раз редактировалось Stilet; 22.05.2014 в 11:04.
ALEXandr20333 вне форума Ответить с цитированием
Старый 22.05.2014, 09:37   #6
ZX Spectrum-128
Участник клуба
 
Регистрация: 05.11.2013
Сообщений: 1,602
По умолчанию

Вот эту строчку
Код:
for i:=1 to 20 do write(a[i],' ');
Вставьте еще до sorting1 и сразу увидите, работает или нет.
Код:
const
  n = 20;
type
  myarray = array[1..n] of integer;
var
  b:myarray;
  i,j:integer;
  k,m:integer;

Procedure sorting1(var a:myarray);
var
  i,j,k,m:integer;
begin
for i:= n downto 2 do
begin
k:=i; m:=a[i];
for j:= 1 to i-1 do
if a[j] > m then begin k:=j; m:=a[k] end;
if k <> i then
begin a[k]:=a[i]; a[i]:= m; end;
end;
end;

begin
  randomize; 
  for i:=1 to n do
    b[i]:=random(30)+80;
  writeln('Original array:');
  for i:=1 to n do
    write(b[i],' ');
  sorting1(b);
  writeln;
  writeln('Sorted array:');
  for i:=1 to n do
    write(b[i],' ');
  readln;
end.

Последний раз редактировалось ZX Spectrum-128; 22.05.2014 в 10:12.
ZX Spectrum-128 вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программно изменить код страницы(как в Опере через исходный код) igrok111 Работа с сетью в Delphi 7 20.04.2013 23:46
Делфи. как правильно вставить код в код? Кушманский Помощь студентам 13 18.03.2012 20:06
Неочень правельный скрипт kartixa PHP 3 22.05.2011 21:15
Доп.код,обратный код,прямой код вычисления Lukas077 Помощь студентам 0 20.03.2011 12:07
Код написал код, но ответ постоянно один и тот же SkuLLL Помощь студентам 4 14.12.2010 19:25