Сформировать массив положительных чисел делящихся на пять без остатка используя элементы исходного файла - Free Pascal
Формулировка задачи:
Сформировать массив положительных чисел делящихся на пять без остатка используя элементы исходного файла целых чисел.Упорядочить массив по убыванию элементов.
Помогите осталась эта задача На оценку
Решение задачи: «Сформировать массив положительных чисел делящихся на пять без остатка используя элементы исходного файла»
textual
Листинг программы
uses crt;
var f:file of integer;
m:array[1..100] of integer;
n,a,i,j,x:integer;
begin
clrscr;
randomize;
assign(f,'fileF');
rewrite(f);
write('Сколько чисел записать в файл F n=');
readln(n);
for i:=1 to n do
begin
a:=-10+random(100);
write(f,a);
end;
writeln('Содержание исходного файла:');
reset(f);
n:=0;
while not eof(f) do
begin
read(f,a);
write(a:4);
if (a>0)and(a mod 5=0) then
begin
n:=n+1;
m[n]:=a;
end;
end;
close(f);
writeln;
if n=0 then write('В файле нет положительных чисел, кратных 5')
else
begin
writeln('Массив положительных чисел, кратных 5 ');
for i:=1 to n do
write(m[i]:4);
writeln;
if n=1 then write('Сортировка не возможна, в массиве 1 число')
else
begin
for i:=1 to n-1 do
for j:=i+1 to n do
if m[i]<m[j] then
begin
x:=m[i];
m[i]:=m[j];
m[j]:=x
end;
writeln('Массив, отсортированный по убыванию');
for i:=1 to n do
write(m[i]:4);
end;
end;
readln
end.
Объяснение кода листинга программы
- Используемые библиотеки и модули: в коде используются библиотека CRT (классы контроля за ресурсами) и модуль файлов.
- Переменные:
- f: файл для записи и чтения чисел;
- m: массив для хранения чисел;
- n, a, i, j, x: переменные для выполнения операций.
- Цель программы: сформировать массив положительных чисел, делящихся на пять без остатка, используя элементы из исходного файла.
- Ход выполнения программы:
- Задание количества чисел для записи в файл;
- Запись в файл случайных чисел, удовлетворяющих условию;
- Чтение и вывод содержимого файла;
- Подсчет числа чисел, удовлетворяющих условию;
- Заполнение массива этими числами;
- Сортировка массива по убыванию;
- Вывод массива на экран.
- Особенности кода:
- В исходном файле должна быть только одна строка с числами, разделенными пробелами;
- Код не проверяет наличие ошибок при чтении и записи в файл;
- В случае отсутствия чисел, удовлетворяющих условию, выводится соответствующее сообщение.