Есть ответ 👍

Дан одномерный числовой массив, состоящий из 20 элементов. Создайте новый массив, состоящий из 10 элементов и заполните его произведениями пар элементов из первого массива, т.е B[1]=A[1]*A[2], B[2]=A[3]*A[4] и т.д. Сделайте сортировку полученного массива по убыванию. Написала вот это, но где-то там точно ошибка и дело идет очень плохо
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 do
if a[i] begin
x:=a[i];
a[i]:=a[g];
a[g]:=x;
end;
for i := 1 to k do
writeln(b[i]:2);
end.

233
500
Посмотреть ответы 2

Ответы на вопрос:


Ты между к и 1 поставила минус, поэтому там ошибка

nsmotrova
4,7(62 оценок)

извини, в c++ трудно реализовать рандомные числа, поэтому ограничился лишь вводом чисел пользователем. но если нужен именно рандом, напиши, я доделаю.

#include < iostream> int main() {     int arr[100];     int n, m;     std: : cout < < "введите n: ";     std: : cin > > n;     for(int i = 0; i < n; i++)     {         std: : cout < < i+1 < < "-й элемент массива: ";         std: : cin > > arr[i];     }     std: : cout < < "полученный массив: ";     for(int j = 0; j < n; j++)     {         arr[j] *= 5;         std: : cout < < arr[j] < < ' ';     }     return 0; }

Популярно: Информатика