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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.10.2008, 05:39   #1
sdinaras
 
Регистрация: 05.10.2008
Сообщений: 3
По умолчанию Помогите с задачей на pascal

Посмотрите пожалуйста почему задачка не работает :
program quicksort;

type massiv = array [1..100] of integer;

var x:massiv;
i,k,n:integer;
procedure qsort(t,f:integer);
procedure sort(l,r:integer);
var i,j,x1,y1,m:integer;
begin
i:=l;
j:=r;
m:=round((l+r)/2)
x1:=x[m];
repeat
while x[i]<=x1 do inc(i);
while x[j]>=x1 do dec(j);
if i<=j then
begin
y1:=x[i];
x[i]:=x[j];
x[j]:=y1;
inc(i); dec(j);
end;
until i>j;
if l<j then sort(l,j);
if i<r then sort(i,r);
end;
begin sort(t,f); end;
begin
writeln('Введите маасив чисел для сортировки ');
writeln('В конце ввода нажмите 0 ');
k:=1;
read(x[1]);
while x[k]<>0 do
begin
k:=k+1;
read(x[k]);
end;
n:=k-1;
writeln;
writeln('Массив до сортировки: ');
writeln;
for i:=1 to n do
write(x[i],' ');
readln;
qsort(1,n);
writeln;
writeln('Массив после сортировки: ');
writeln;
for i:=1 to n do
write(x[i],' ');



readln;
end.

Последний раз редактировалось sdinaras; 05.10.2008 в 06:09.
sdinaras вне форума Ответить с цитированием
Старый 05.10.2008, 08:50   #2
Sibedir
Тот ещё
Старожил
 
Аватар для Sibedir
 
Регистрация: 14.11.2007
Сообщений: 2,242
По умолчанию

Б-р-р, а что это за метод такой? Попроще-то нельзя было.
Sibedir вне форума Ответить с цитированием
Старый 05.10.2008, 09:12   #3
Sibedir
Тот ещё
Старожил
 
Аватар для Sibedir
 
Регистрация: 14.11.2007
Сообщений: 2,242
По умолчанию

Код:
program quicksort;

type massiv = array [1..100] of integer;

var
  x: massiv;
  i,  k,  n:  integer;

procedure sort (l, r: integer);
var
  i, j, x1, y1, m: integer;
begin
  i := l;
  j := r;
  m := round ((l+r)/2);
  x1:=x[m];
  repeat
    while x[i]<x1 do inc(i);
    while x[j]>x1 do dec(j);
    if i<=j then begin
      y1:=x[i];
      x[i]:=x[j];
      x[j]:=y1;
      inc(i);
      dec(j);
    end;
  until i>j;
  if l<j then sort(l,j);
  if i<r then sort(i,r);
end;

begin
  writeln('Введите массив чисел для сортировки ');
  writeln('(0 - признак конца массива)');
  k:=1;
  read(x[1]);
  while x[k]<>0 do begin
    k:=k+1;
    read(x[k]);
  end;
  n:=k-1;
  writeln;
  writeln('Массив до сортировки: ');
  writeln;
  for i:=1 to n do
    write(x[i],' ');
  readln;
  sort(1,n);
  writeln;
  writeln('Массив после сортировки: ');
  writeln;
  for i:=1 to n do
    write(x[i],' ');
  readln;
end.

Последний раз редактировалось Sibedir; 05.10.2008 в 09:14.
Sibedir вне форума Ответить с цитированием
Старый 05.10.2008, 10:06   #4
sdinaras
 
Регистрация: 05.10.2008
Сообщений: 3
По умолчанию

СПАСИБО, СПАСИБО........ СПАСИБО!!!
sdinaras вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите с задачей. terminadoor Помощь студентам 4 22.07.2008 18:38
помогите плиззз с задачей на Pascal rer Помощь студентам 1 24.06.2008 16:31
помогите с задачей на с++ JOFRIF Помощь студентам 7 23.04.2008 20:46
Помогите с задачей в С++ vovchara Помощь студентам 2 22.04.2008 22:49
Помогите с задачей на С++ Nemisoi Помощь студентам 1 22.04.2008 22:09