Поскольку протестировать программу без файла нельзя, вот код, создающий нужный файл.
// PascalABC.NET 3.3, сборка 1579 от 18.11.2017 // Внимание! Если программа не работает, обновите версию!
type fint=file of integer;
begin var f:fint; Assign(f,'integers.bin'); Rewrite(f); SeqRandom(20,-50,50).foreach(t->Write(f,t)); f.Close end.
А теперь, собственно, решение задачи
type fint=file of integer;
begin var f:fint; Assign(f,'integers.bin'); Reset(f); var k:=0; var b:integer; while not Eof(f) do begin Read(f,b); if b.IsEven then k+=1 end; f.Close; Writeln('Кол-во четных компонент файла равно ',k) end.
И последнее - программа распечатки значений компонент файла. Для контроля.
type fint=file of integer;
begin var f:fint; Assign(f,'integers.bin'); Reset(f); var b:integer; while not Eof(f) do begin Read(f,b); Print(b) end; Writeln; f.Close end.
Так как неуказан язык программирования пишу алгоритм
1)Открываем поток для чтения файла f , нам еще потребуется переменная назовем ее count (Тип дробных чисел в каждом языке по разному) и переменную допустим value (тоже дробное) Далее проход по файлу любым циклом до конца файла и условие если value = дробь то count = count +1 И в конце выводим count в файл g
2)Открываем поток для чтения файла f , и две переменные max и min и массив кол-во элементов которого равно кол-ву чисел в файле (Считаем любой функцией ) далее сортируем массив по возрастанию и получиться max = последний элемент массива ;
min = первый элемент массива . Далее выводим min и max в файл g
3)Аналогично 4 только вместо записи их в массив просто задаете переменную которая будет увеличиваться если число четное .
4)Открываем поток для чтения файла f , потребуется массив равный кол-ву четных элементов файла на четность можно проверить если остаток от деления числа на 2 =0 то
число четное , далее просто заполняем массив из файла четными точно такой же проверкой и выводим в файл g . Но еще лучше использовать динамический массив тогда проход по файлу будет равен 1
5)Все просто открываешь первый файл для чтение считаешь кол-во элементов ,
создаешь массив, кол-во элементов которого = твой подсчет , заполняешь его из файла ,далее соритруешь по возрастанию , и выводишь этот массив в файл 2 , опять же можешь использовать динамические массивы и облегчить себе жизнь
// PascalABC.NET 3.3, сборка 1579 от 18.11.2017
// Внимание! Если программа не работает, обновите версию!
type
fint=file of integer;
begin
var f:fint;
Assign(f,'integers.bin'); Rewrite(f);
SeqRandom(20,-50,50).foreach(t->Write(f,t));
f.Close
end.
А теперь, собственно, решение задачи
type
fint=file of integer;
begin
var f:fint;
Assign(f,'integers.bin'); Reset(f);
var k:=0;
var b:integer;
while not Eof(f) do begin
Read(f,b);
if b.IsEven then k+=1
end;
f.Close;
Writeln('Кол-во четных компонент файла равно ',k)
end.
И последнее - программа распечатки значений компонент файла. Для контроля.
type
fint=file of integer;
begin
var f:fint;
Assign(f,'integers.bin'); Reset(f);
var b:integer;
while not Eof(f) do begin Read(f,b); Print(b) end;
Writeln;
f.Close
end.
Так как неуказан язык программирования пишу алгоритм
1)Открываем поток для чтения файла f , нам еще потребуется переменная назовем ее count (Тип дробных чисел в каждом языке по разному) и переменную допустим value (тоже дробное) Далее проход по файлу любым циклом до конца файла и условие если value = дробь то count = count +1 И в конце выводим count в файл g
2)Открываем поток для чтения файла f , и две переменные max и min и массив кол-во элементов которого равно кол-ву чисел в файле (Считаем любой функцией ) далее сортируем массив по возрастанию и получиться max = последний элемент массива ;
min = первый элемент массива . Далее выводим min и max в файл g
3)Аналогично 4 только вместо записи их в массив просто задаете переменную которая будет увеличиваться если число четное .
4)Открываем поток для чтения файла f , потребуется массив равный кол-ву четных элементов файла на четность можно проверить если остаток от деления числа на 2 =0 то
число четное , далее просто заполняем массив из файла четными точно такой же проверкой и выводим в файл g . Но еще лучше использовать динамический массив тогда проход по файлу будет равен 1
5)Все просто открываешь первый файл для чтение считаешь кол-во элементов ,
создаешь массив, кол-во элементов которого = твой подсчет , заполняешь его из файла ,далее соритруешь по возрастанию , и выводишь этот массив в файл 2 , опять же можешь использовать динамические массивы и облегчить себе жизнь