Сформировать новый массив из элементов массива А, которые превосходят свой номер на 10 - Turbo Pascal
Формулировка задачи:
Решение задачи: «Сформировать новый массив из элементов массива А, которые превосходят свой номер на 10»
const n=20;
var a,c:array [1..n] of integer;
nc,i: integer ;
begin
randomize;
writeln('Массив А');
for i :=1 to n do
begin
a[i]:=11+random(19);
write(a[i]:3);
end;
writeln;
nc:=0;
for i:=1 to n do
if a[i]-i=10 then
begin
nc:=nc+1;
c[nc]:=a[i];
end;
if nc=0 then write('Нет элементов превышающих свой номер на 10')
else
begin
writeln('Массив С');
for i:=1 to nc do
write(c[i]:3);
end;
end.
Объяснение кода листинга программы
В данном коде формируется новый массив С, который будет содержать только те элементы из исходного массива А, которые превосходят свой номер на 10.
Для этого используется цикл for, который проходит по всем элементам массива А. Если текущий элемент превосходит свой номер на 10, то он добавляется в новый массив С.
Переменная nc отслеживает количество элементов, которые были добавлены в массив С. Если ни один элемент не был добавлен, то выводится сообщение Нет элементов превышающих свой номер на 10. В противном случае выводится массив С, содержащий добавленные элементы.
Код начинается с объявления переменных n, a, c и i. Переменная n задает максимальное значение индекса элемента в массиве. Переменные a и c объявляются как массивы, содержащие 20 элементов типа integer. Переменная i используется для итерации по индексам элементов массива.
Затем выполняется инициализация генератора случайных чисел и выводится сообщение Массив А, содержащее все элементы исходного массива А.
Далее следует основной цикл, который выполняется столько раз, сколько элементов в массиве А. Внутри цикла каждый элемент массива А проверяется на условие a[i]-i=10. Если это условие выполняется, то текущий элемент добавляется в массив С. Переменная nc увеличивается на единицу. Если после выполнения цикла ни один элемент не был добавлен, то выводится сообщение Нет элементов превышающих свой номер на 10.
После этого выводится сообщение Массив С, содержащее все элементы массива С. Если элементов в массиве С нет, то выводится соответствующее сообщение.
Код завершается без использования вложенных списков.