Создание программы. Тема: типизированные файлы. Pascal ABC
Задача: Дан файл f, компоненты которого являются целыми числами. Записать в файл g наибольшее значение первых пяти компонент файла f, затем - следующих пяти компонент и т.д. Если в последней группе окажется менее пяти компонент, то последняя компонента файла g должна быть равна наибольшей из компонент файла f, образующих последнюю (неполную) группу.
|
Я, создала файл и нашла в нем максимум, а вот как считывать по 5 элементов и находить конкретно в нем максимум не могу догадаться.
const n = 15; var f, g: file of integer; A: array[1..n] of integer; //M: array[1..5] of integer; max, B: integer; i: integer; begin Assign(f, 'd:/f.dat'); Rewrite(f); Randomize; for i := 1 to n do A[i] := random(50) - 20; for i := 1 to n do begin Write(f, A[i]); Write(' ', A[i]); end; Writeln; close(f); Assign(f, 'D://f.dat'); Assign(g, 'D://g.dat'); Reset(f); Rewrite(g); For i:=1 to n do Read(f, B); max := A[1]; for i := 1 to n do begin if max < A[i] then begin max := A[i];end; end; Write(g, max); Write(' ', max); close(g); close(f); end. |
Пожалуйста, например, так:
Код:
Const В путях файлов употребляются ОБРАТНЫЕ слэши, причем ОДИНАРНЫЕ!!! |
Спасибо, Владимир. Я поняла, ход вашей мысли. Вы гений, а я какие варианты только не писала уже ничего не могла сделать . Обязательно воспользуюсь вашим советом)
|
Цитата:
|
Черт, выявил-таки один ляп: если n кратно 5 (напр. не 48, а 45), то в конце вылезает -100. Поэтому самый последний блок надо так:
Код:
if (n mod 5)>0 then |
да, я уже исправила . Наверно стоило написать об этом.
|
Спасибо за помощь)))
|
Часовой пояс GMT +4, время: 07:19. |
Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.