{Напишите программу, которая находит минимальное и максимальное
среди чётных положительных чисел, записанных в файле,
и выводит результат в другой файл.}
var f:text;
min, max,a :integer;
find:boolean;{есть/нет числа удовлетворяющие условию}
begin
assign(f,'dan.txt'); reset(f);
min:=0; max:=0;
find:=false;
while not eof(f) do
begin
read(f,a);
if not find and (a>0) and (a mod 2=0) then
begin
min:=a; find:=true;
end
else
if find and (a>0) and (a mod 2=0) and (min>a) then
min:=a;
if (a>0) and (a mod 2=0) and (max<a) then
max:=a;
end;
close(f);
assign(f,'res.txt');
rewrite(f);
if max=0 then writeln(f,'чётных положительных чисел нет')
else
writeln(f,'min среди чётных положительных чисел =',min, chr(13),
'max среди чётных положительных чисел нет',max);
close(f);
end.
Подробнее - на -
Объяснение:
Uses CRT;
Var
const N = 10;
a: Array [1..N] of Integer;
i,k: Integer;
BEGIN
Writeln('Введите элементы массива: ');
For i:=1 to N do
begin
Readln(a[i]);
If (a[i]<23) and (a[i] mod 5=0) Then
inc(k);
end;
Writeln('Кол-во элементов, меньших 23 и кратных 5 = ',k)
END.
Объяснение:
Вводишь массив и сразу проверяется согласно условию. Uses CRT запускается через shift-f9. Можно заменить на program n12; если так привычнее и удобнее. inc(k) прибавляет к переменной к единицу, замена к:=к+1