Дан одномерный числовой массив, состоящий из 20 элементов. Создайте новый массив, состоящий из 10 элементов и заполните его произведениями пар элементов из первого массива, т.е B[1]=A[1]*A[2], B[2]=A[3]*A[4] и т.д. Сделайте сортировку полученного массива по убыванию. Вот что написала, при заполнении массива b и дальнейшей его сортировки по убыванию выводятся одинаковые числа
const n=20; k=10;
var a: array [1..n] of integer;
b: array [1..k] of integer;
i,j,g,x: integer;
begin
for j:=1 to n do
begin
a[j]:=random(101);
end;
for i:=1 to k do
begin
for j:=1 to n-1 do
begin
b[i]:=a[j]*a[j+1];
end;
end;
for i:=1 to k-1 do
for g:=i+1 to k-i do
if b[i] begin
x:=b[i];
b[i]:=b[g+1];
b[g+1]:=x;
end;
for i := 1 to k do
writeln(b[i]:2);
end.

Aiutka574 Aiutka574    2   21.12.2020 23:50    0

Ответы
f0xsick f0xsick  20.01.2021 23:53

const n=20; k=10;

var  

a: array [1..n] of integer;

b: array [1..k] of integer;

i,j,g,x: integer;

begin

randomize;

for i:=1 to n do

a[i]:=random(101);

for i:=1 to k do

begin

for j:=1 to n-1 do

b[i]:=a[j]*a[j+1];

end;

for i:=1 to k do

for g:=1 to k-1 do

if b[i] < b[i+1] then begin

x:=b[i];

b[i]:=b[g+1];

b[g+1]:=x;

end;

for i:=1 to n do

writeln(b[i]);

end.

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика