Другие языки программирования и технологии

Помогите решить задачки в turbo delphi

1. Удалить те элементы массива, которые имеют нечетные индексы.
2. Заданы два массива одинаковой размерности. Отсортировать элементы каждого массива по убыванию методом выбора, используя для этого только один цикл.
Олег Триба
Олег Триба
335
1. динамический массив, индексируется с нуля

{$apptype console}
var
a: array of integer;
n, c: integer;
begin
write('размер массива? ');
read(n);
setlength(a, n);
write('исходный массив: ');
for c := 0 to n - 1 do begin
a[c] := c * 11;
write(' ', a[c]);
end;
writeln;
for c := 0 to (n - 2) do begin
if odd(c) then
a[c div 2 + 1] := a[c + 1];
end;
n := n div 2 + ord(odd(n));
setlength(a, n);
write('результат: ');
for c := 0 to n - 1 do write(' ', a[c]);
end.

2.

{$apptype console}

var
a, b: array of integer;
n, c, k, cma, cmb, tmp: integer;
begin
randomize;
write('размер массивов? ');
read(n);
setlength(a, n);
setlength(b, n);
write('исходный массив a:');
for c := 0 to n - 1 do begin
a[c] := random(100);
write(' ', a[c]);
end;
writeln;
write('исходный массив b:');
for c := 0 to n - 1 do begin
b[c] := random(100);
write(' ', b[c]);
end;
writeln;
for c := 0 to n - 1 do begin
cma := c;
cmb := c;
for k := c + 1 to n - 1 do begin
if a[k] < a[cma] then cma := k;
if b[k] < b[cmb] then cmb := k;
end;
if cma <> c then begin
tmp := a[c];
a[c] := a[cma];
a[cma] := tmp;
end;
if cmb <> c then begin
tmp := b[c];
b[c] := b[cmb];
b[cmb] := tmp;
end;
end;
write('результат а: ');
for c := 0 to n - 1 do write(' ', a[c]);
writeln;
write('результат b:');
for c := 0 to n - 1 do write(' ', b[c]);
writeln;
end.
Александр Мартыненко
Александр Мартыненко
87 606
Лучший ответ
Помогаю:
1. нечетное число это число которое не делится на два без остатка
2. Сортировка выбором

если нужно готовое решение пиши в агент или аську 452371863