Из массива А в массив В переписать все элементы, оканчивающиеся на 3,7 или 9 - Free Pascal
Формулировка задачи:
1.Из массива А в массив В переписать все элементы, оканчивающиеся на 3, 7 или 9.
2.Дан массив. Найти max и min.
Решение задачи: «Из массива А в массив В переписать все элементы, оканчивающиеся на 3,7 или 9»
textual
Листинг программы
var
a, b: Array Of ShortInt;
i: Word;
begin
Randomize();
repeat
Write('Input array length (>0): '); ReadLn(i);
until (i > 0);
SetLength(a, i); SetLength(b, 0);
Write('Original array:');
for i := 0 to Length(a) - 1 do
begin
a[i] := Random(199) - 99;
Write(a[i]:4);
if ((Abs(a[i]) mod 10) in [3, 7, 9])
then
begin
SetLength(b, Length(b) + 1);
b[Length(b) - 1] := a[i];
end;
end;
WriteLn; Write('Filtered array:');
if (Length(b) > 0)
then
for i := 0 to Length(b) - 1 do
Write(b[i]:4)
else
Write(' ERROR! Empty array!');
end.
Объяснение кода листинга программы
- Объявлены две переменные типа Array Of ShortInt - a и b, а также переменная i типа Word.
- Выполняется инициализация генератора случайных чисел.
- В цикле repeat происходит запрос на ввод длины исходного массива и проверка корректности введенного значения (больше 0).
- Массив a инициализируется случайными числами от -99 до 99, которые выводятся на экран.
- В цикле for проверяется каждый элемент массива a. Если остаток от деления его абсолютного значения на 10 равен 3, 7 или 9, то элемент копируется в массив b.
- После окончания цикла выводится информация о отфильтрованном массиве.
- Если массив b пустой, выводится сообщение об ошибке.