В массиве из 40-а элементов упорядочить
1-ые 20 элементов по возрастанию
2-ые 20 элементов по убыванию.
Массив одномерный
Надо использовать random(n)
смотри эта программа сортирует массив по возрастанию...
var
a:array[1..10] of integer;
i, j, k:integer;
begin
for i:=1 to 10 do
readln(a[i]);
for i:=1 to 10 do
for j:=10 downto i do begin
if a[j-1]>a[j] then begin
k:=a[j-1]; a[j-1]:=a[j]; a[j]:=k;
end;
end;
for i:=1 to 10 do begin
write(a[i]:3);
writeln;
end;
end.
Это задачу, если ты не понял, тебе уже подсказали, как решать в теме "Массивы", но если все ТАК плохо - то:
type
arrtype = array[1 .. 40] of integer;
Procedure Insert(Var ar: arrType; n: Integer; sort_by: boolean);
Var i, j, T: Integer;
Begin
For i := 1 To n Do Begin
T := ar[i];
j := Pred(i);
While (j > 0) and ((T < ar[j]) = sort_by) Do Begin
ar[Succ(j)] := ar[j]; Dec(j);
End;
ar[Succ(j)] := T;
End;
End;
var
a: arrtype;
i: integer;
begin
randomize;
for i := 1 to 40 do a[i] := random(100);
for i := 1 to 40 do begin
write(a[i]:4);
end;
writeln;
insert(a, 20, true);
insert(arrtype((@a[21])^), 20, false);
for i := 1 to 40 do begin
write(a[i]:4);
end;
end.
Спасибо но я не уверен оно точно работает?
Добавлено через 6 мин.
Мы только недавно начали изучать этот язык, но тут в твоем (volvo) коде полно каких операторов неизвестных мне раннее
Добавлено через 4 мин.
volvo если не лень посмотри код выше у compilierа и исправления которые надо выполнить(исправь их пожста)
! | 1. Заголовок темы должен быть информативным. В противном случае тема удаляется ... |