Получить новую последовательность X, выбросив из исходной все числа, большие заданного числа R - Free Pascal
Формулировка задачи:
Как проверять и выкидывать элементы из массивов?
Дана последовательность P[i] i=1,2...n (n<=30). Получить новую последовательность X[i], выбросив из исходной все числа, большие заданного числа R. ( Не использую функции и процедуры)
Решение задачи: «Получить новую последовательность X, выбросив из исходной все числа, большие заданного числа R»
textual
Листинг программы
- const max=30;
- var x: array [1..max] of integer;
- n,r,i,j:integer;
- begin
- randomize;
- repeat
- write('Ведите рамер масива от 2 до ',max,' n=');
- readln(n);
- until n in [2..max];
- writeln('Исходный массив');
- for i:=1 to n do
- begin
- x[i]:=random(50);
- write(x[i]:4);
- end;
- writeln;
- write('Введите число для чравнения R=');
- readln(r);
- j:=0; //счётчик <=R
- for i:=1 to n do //проходим по массиву
- if x[i]<=r then //пропускаем <=r
- begin
- inc(j);
- if j<i then x[j]:=x[i]; //если нужно, на их место пишем следующие
- end;
- if j=0 then write('Все элементы удалены')
- else if j=n then write('В массиве нет чисел >',r)
- else
- begin
- writeln('Удаление чисел >',r);
- for i:=1 to j do write(x[i]:4);
- end;
- readln
- end.
Объяснение кода листинга программы
- Объявляются константа
max
равная 30, переменныеx
,n
,r
,i
,j
типаinteger
. - Выполняется инициализация генератора случайных чисел.
- В цикле повторяется ввод размера массива
n
и исходных данных в массивx
. - Выводится исходный массив
x
. - Вводится число
r
для сравнения. - Инициализируется счётчик
j
для подсчёта числа элементов, меньших или равныхr
. - В цикле проходятся по всем элементам массива
x
. - Если элемент
x[i]
меньше или равенr
, то он пропускается, а счётчикj
увеличивается. - Если счётчик
j
меньшеi
, то на местоx[j]
записывается значениеx[i]
. - После прохода по всем элементам массива проверяется значение счётчика
j
. - Если
j
равен нулю, выводится сообщениеВсе элементы удалены
. - Если
j
равенn
, выводится сообщениеВ массиве нет чисел >
, гдеr
- искомое число. - Если
j
не равен нулю иn
, выводится сообщениеУдаление чисел >
, гдеr
- искомое число. - Завершается работа программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д