Записать в другой текстовый файл третий и шестой положительные элементы и найти их сумму - PascalABC.NET
Формулировка задачи:
Создать текстовый файл,в который записать не менее 20 целых чисел в диапазоне от -15 до 15. Вывести содержание файла на экран. Записать в другой текстовый файл третий и шестой положительные элементы и найти их сумму. Содержимое этого файла вывести на экран. Если таких чисел нет вывести соответствующее сообщение.
Решение задачи: «Записать в другой текстовый файл третий и шестой положительные элементы и найти их сумму»
textual
Листинг программы
var f:text;
n,a,i,k,k3,k6,s:integer;
begin
randomize;
assign(f,'1.txt');
rewrite(f);
repeat
write('Количество чисел n>=20 n=');
readln(n);
until n>=20;
for i:=1 to n do
begin
a:=-15+random(31);
write(f,' ',a);
end;
reset(f);
k:=0;
k3:=-20;
k6:=-20;
writeln('Содержание исходного файла');
while not seekeof(f) do
begin
read(f,a);
write(' ',a);
if a>0 then
begin
inc(k);
if k=3 then k3:=a
else if k=6 then k6:=a;
end;
end;
close(f);
writeln;
writeln('k3=',k3,' k6=',k6);
if k3=-20 then write('В файле нет трех положительных чисел')
else if k6=-20 then write('В файле нет шести положительных чисел')
else
begin
s:=k3+k6;
assign(f,'2.txt');
rewrite(f);
write(f,' ',k3,' ',k6);
close(f);
writeln('Сумма третьего и шестого положительных=',s);
write('Числа записаны в файл 2.txt');
end
end.
Объяснение кода листинга программы
В данном коде выполняются следующие действия:
- Установка начального значения счётчика: переменная
kинициализируется значением 0. - Цикл чтения исходного файла: цикл выполняется до тех пор, пока не будет достигнут конец файла. Число считывается из файла и выводится на экран, а затем проверяется его знак. Если число положительное, то увеличивается значение переменной
k, и еслиkравно 3, то значение переменнойk3присваивается это число, иначе еслиkравно 6, то значение переменнойk6присваивается это число. - После завершения чтения исходного файла: проверяется значение переменных
k3иk6. Если они равны -20, то выводится сообщение о том, что в файле нет трёх или шести положительных чисел соответственно. - Если в файле есть три и шесть положительных чисел: то находится их сумма, и затем записывается в новый файл
2.txt. - Завершение работы программы: выводится сообщение о том, что числа записаны в файл
2.txt, и их сумма.