Кто-нибудь может прямо построчно объяснить как это работает, и исправить код в случае ошибки?
10-11 класс
|
function find(x:integer):boolean;
begin
if pos('7',IntToStr(x))=0
then result:=False
else result:=True
end;
const n = 1000;
var
a:array[1..n] of integer;
i:integer;i,o: file of text;
begin
AssignFile(i, 'Input.dat');
AssignFile(o, 'Output.dat');
Rewrite(o);
Reset(i);
for i:=1 to n do
ffunction find(x: integer): boolean;
begin
if pos('7', IntToStr(x)) = 0
then result := False
else result := True
end;
const
n = 1000;
var
a: array[1..n] of integer;
ii: integer;
i, o: text;
begin
AssignFile(i, 'Input.dat');
AssignFile(o, 'Output.dat');
Rewrite(o);
Reset(i);
for ii := 1 to n do
readln(i, a[ii]);
for ii := 1 to n do
if find(a[ii])
then writeln(o, a[ii]);
CloseFile(i);
CloseFile(o);
end.
Функция Find пытается разыскать цифру 7 в целом числе, которое она получает в качестве аргумента. Если поиск успешен, возвращается "Истинно", если нет - "Ложно" - это символизирует успешность поиска.
В программе используются два текстовых файла - i, связанный с файлом input.dat, и o, связанный с файлом Output.dat.
Данные из input.dat считываются в целочисленный массив a, содержащий 1000 элементов.
Затем элементы массива просматриваются, начиная с первого, на предмет наличия в элементе числа, содержащего цифру 7, что проверяется вызовом функции Find. Каждое число, содержащее цифру 7, выводится в файл Output.dat.
Недостаток программы: если в файле input.dat будет меньше 1000 чисел, программа все равно будет просматривать все 1000 элементов, анализируя оставшийся "мусор". так же есть большая вероятность, что программа будет аварийно завершена, если этот "мусор" не сможет быть интерпретирован, как целые числа.
Комментарий удален
Другие вопросы из категории
вести сумму двух соседних элементов массива, имеющих одинаковую чётность. Гарантируется, что в массиве есть соседние элементы, имеющие одинаковую чётность.
элементов, стоящих правее минимального. на паскале
пассивного разветвителя.
1) терминатор
2) активатор
3) концентратор
4) адаптер
5) коннектор
Читайте также
1)Укажите через запятую в порядке возрастания все десятичные числа,не превосходящие 25, запись которых в системе счисления с основанием 6 начинается на 4.
2)В системе счисления с некоторым основанием десятичное число 83 записывается в виде 123.Укажите это основание.
3)Запись числа 65(8) в некоторой системе счисления выглядит так: 311(N).Найдите основание системы счисления N.
У меня подобных заданий 90 штук,очень много решать,за месяц все забыл.Надеюсь кто-нибудь мне напомнит.
убедился,что попугай нем,как рыба. Тем не менее продавец не лгал. Объясните,как это могло быть