По заданной последовательности целых чисел построить новую - Turbo Pascal
Формулировка задачи:
По заданной последовательности целых чисел А(1), A(2), ..., А(n)
построить последовательность В такую, что B(i) – это количество
элементов, превосходящих A(i), в начальном отрезке последова-
тельности А длиной i – 1.
Решение задачи: «По заданной последовательности целых чисел построить новую»
textual
Листинг программы
uses crt;
const
n=15;
type mas=array[1..n] of integer;
var A,B:mas;
i,j, k:integer;
begin
randomize;
writeln('Исходнная последовательность A:');
for i:=1 to n do
begin
A[i]:=random(30);
write(A[i]:4);
end;
writeln;
writeln;
writeln('Последовательность B:');
B[1]:=0;
write (B[1]:4);
for i:=2 to n do
begin
B[i]:=0;
for j:=1 to i-1 do
if A[j]>A[i] then B[i]:=B[i]+1;
write(B[i]:4);
end;
end.
Объяснение кода листинга программы
- В начале кода подключается библиотека crt, которая используется для работы с файлами и вводом-выводом.
- Затем определяются константы и типы данных: n - количество элементов в массиве mas, mas - массив целых чисел, i, j, k - переменные типа integer, используемые для индексации массивов и счет чисел.
- Далее объявляются переменные A и B типа mas, которые будут использоваться для хранения исходной и новой последовательностей соответственно.
- Затем в блоке begin выполняется инициализация случайного числа генератором случайных чисел crt.
- Выводится исходная последовательность A с помощью цикла for, в котором каждый элемент массива A инициализируется случайным числом от 0 до 29.
- После этого выводится символ новой строки.
- Затем выводится новая последовательность B с помощью цикла for, в котором каждый элемент массива B инициализируется нулем.
- Во внутреннем цикле for происходит сравнение текущего элемента массива A с предыдущим. Если текущий элемент больше предыдущего, то значение элемента B увеличивается на единицу.
- После каждого сравнения выводится значение элемента B с помощью функции write.
- В конце программы выводится символ новой строки.