![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
mfractus |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 26 Пол: Мужской Репутация: ![]() ![]() ![]() |
Доброго времени суток! Прошу помощи в решении задачи. Заранее спасибо!
Текст задачи. Сформировать файл G. Определить сумму и произведение наибольшего и наименьшего из значений компонент. Заменить значением суммы первую и последнюю компоненты, а на значение произведения – увеличить каждую третью компоненту файла. Файл вывести до и после преобразования. |
![]() ![]() |
mfractus |
![]()
Сообщение
#2
|
Новичок ![]() Группа: Пользователи Сообщений: 26 Пол: Мужской Репутация: ![]() ![]() ![]() |
Спасибо всем, кто принял участие в дискуссии! А оператор close(F); один раз должен встречаться в программе?
Добавлено через 3 мин. Как участок кода вставить в исходный? Код s:= max+min; p:= max*min; reset(f); write(f,s); seek(f,l-1); write(f,s); l:= filesize(f); n:=2; while n<l do begin seek(f,n); read(f,a); seek(f,n); write(f,a+p); Inc(n,3) end; close(f); Вот сюда: Код Program Files_1; var F: file of integer; buf,Imin,Imax,Min,Max,i:integer; begin Assign(F,'.dat'); rewrite(F); writeln('Введите компоненты файла целые числа, окончание ввода 999:'); while buf<>999 do begin readLn(buf); if buf<>999 then write(F,buf); end; reset(F); writeln('Исходный файл:'); read(F,Min); write(Min,' '); Max:=Min; Imin:=0; Imax:=0; for i:=1 to filesize(F)-1 do begin read(F,buf); write(buf,' '); if buf>Max then begin Max:=buf; Imax:=i; end; if buf<Min then begin Min:=buf; Imin:=i; end; end; close(F); writeln; writeLn('Наибольшее из значений компонент=',Max); writeLn('Наименьшее из значений компонент=',Min); end. |
![]() ![]() |
![]() |
Текстовая версия | 14.07.2025 23:14 |