Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

Pascal и одномерные массивы

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Компилируемые языки] >> Pascal и одномерные массивы
Имя
Сообщение << Старые топики   Новые топики >>
Pascal и одномерные массивы - 2007-05-01 13:02:54.413333   
jabahutt

Сообщений: 3
Оценки: 0
Присоединился: 2006-11-21 19:07:48.980000
Совсем уже забыл паскаль, но надо решить задачку, помогите плиз.
Задача: поменять местами наибольший и наименьший элемент массива.
Post #: 1
RE: Pascal и одномерные массивы - 2007-05-01 16:41:08.676666   
blacksun

Сообщений: 2360
Оценки: 0
Присоединился: 2006-09-27 03:05:59.350000
А оч просто, проходишь по массиву в цикле, вычисляешь наименьшее значение и его позицию, наибольшее значие и его позицию, после чего присваеваешь наименьшему значению наибольше, а наибольшему наименьшее .. ниче сложного .. если сам не можешь - время будет - сделаю
Post #: 2
RE: Pascal и одномерные массивы - 2007-05-01 17:11:30.060000   
j0ker_

Сообщений: 609
Оценки: 0
Присоединился: 2005-03-07 15:09:25
Основная часть:
min:= arr[1]; max:= arr[1]; for i:=1 to length(arr) do begin &nbsp;&nbsp; if arr[i] &gt; max then max_index:= i; &nbsp;&nbsp; if arr[i] &lt; min then min_index:= i; end; tmp:= arr[min_index]; arr[min_index]:= arr[max_index]; arr[max_index]:= tmp;
Вот как то так, если я не ошибся с функцией определения длины массива.
Post #: 3
RE: Pascal и одномерные массивы - 2007-05-01 17:27:29.416666   
xlinux

Сообщений: 20
Оценки: 0
Присоединился: 2007-05-01 13:48:21.030000
так у тебя в задаче обыкновенная сортировка….
такое могу сделать….
Post #: 4
RE: Pascal и одномерные массивы - 2007-05-01 17:31:39.933333   
xlinux

Сообщений: 20
Оценки: 0
Присоединился: 2007-05-01 13:48:21.030000
так у тебя в задаче обыкновенная сортировка….
такое могу сделать….
Post #: 5
RE: Pascal и одномерные массивы - 2007-05-01 17:38:36.126666   
xlinux

Сообщений: 20
Оценки: 0
Присоединился: 2007-05-01 13:48:21.030000
program sort1;
uses graph,crt;
const lim=10000;
type tar=array[1..lim]of integer;

function DihSearch(var m:tar;x:integer; var l:byte; r:integer; c:byte;q:boolean):boolean;
begin q:=false; l:=1; r:=lim;
repeat c:=(l+r)div 2;
if x=m[c] then q:=true
else if x<m[c] then r:=c-1
else l:=c+1
until q or (l>r);
DihSearch:=q;
end;
procedure sort (var m:tar; n:byte);
var i,j:byte; t:integer; sorted:boolean;
begin
i:=n; sorted:=false;
while (i>0) and not sorted do begin
sorted:=true;
for j:=1 to i-1 do if m[j]>m[j+1] then begin
sorted:=false; t:=m[j]; m[j]:=m[j+1]; m[j+1]:=t;
end;
dec(i)
end
end;
var mas:tar; m,i:byte;o,u:longint;
begin clrscr;

begin
randomize;
write('Perviy vid sortirovki',' m=');readln(m);
for i:=1 to m do mas:=2*random(1001)-1000;
sort (mas,m);
for i:=1 to m do write(mas,' ');
writeln
end;

begin
randomize;
write('Vtoroy vid sortirovki',' m=');readln(m);
for i:=1 to m do mas:=2*random(1001)-1000;
sort (mas,m);
for i:=1 to m do write(mas,' ');
writeln;
end;

begin
write('Tretiy vid sortirovki',' m='); readln(m);
for i:=1 to m do begin write('m[',i,']=');
readln(mas)
end;
sort(mas,m);
for i:=1 to m do write(mas,' ');

readln;
end;


end.

поменяй значение CONST на то, которое тебя надо
Post #: 6
RE: Pascal и одномерные массивы - 2007-05-01 17:40:46.423333   
xlinux

Сообщений: 20
Оценки: 0
Присоединился: 2007-05-01 13:48:21.030000
я тут еще дехотомический поиск прибахал
так что удачи…
Post #: 7
Страниц:  [1]
Все форумы >> [Компилируемые языки] >> Pascal и одномерные массивы







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.