Программа
var
A: array[1..8] of integer;
B: array[1..8] of integer;
i: integer;
begin
Writeln('Заполните массив ');
for i:=1 to 8 do
begin
Read(A[i]);
if odd(A[i]) then //* смотри примечание после кода
B[i]:=A[i]
end;
Writeln('Нечётные числа массива ');
for i:=1 to 8 do
begin
if B[i]>0 then
Write(B[i],' ');
end;
end.
Прим.: *odd - функция, которая определяется чётность элемента. Если элемент нечётный, то функция возвращает значение true, в противном случае - false
Тестовый ввод программы показан в приложении к решению
Дополню предыдущий ответ.
в первой строке получили из файла элементы, запомнили в f
скорее всего они там находятся в формате str((думаю в файле были цифры разделенные пробелами)
соответственно сейчас у нас f представляет строку состоящую из чисел разделенных пробелами
с f.split() разбиваем строку по определенными символам(символ указывается в кавычках внутри скобок), когда скобки пустые, разбивка происходит по пробелу
функция вернула нам массив, теперь f представляет массив из чисел в формате str
функция map в данной случае из формата str делает все элементы массива форматом int(в скобках функции указываем нужный формат, а через запятую объект)
однако функция map вернула нам f в формате map
соответственно используя list(f) мы приводим f к формату list(так можно делать со всеми типами данных, int(...), str(...) (если конечно приведение к другому типу возможно))
Поделитесь своими знаниями, ответьте на вопрос:
Записать число римскими цифрами 637; 944; 3899