![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
svetkom |
![]()
Сообщение
#1
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 11 Пол: Женский Реальное имя: света Репутация: ![]() ![]() ![]() |
помогите пжалста найти ошибку... не компиллируется код.
задача такая. создать файл типа integer. в него записать n целыx чисел. потом переписать их в другой файл в такой последовательности: а1,а2,а3,а2,а1,а4,а5,а6,а5,а4.. и так до конца, используя подпрограммы. вот что получилось: Код program l9; uses crt; var f,g:file of integer; n,c,d,i:byte; b:integer; procedure to_g(const p,c,d:byte; var f,g:file of integer); {ошибку выдаёт здесь.компиллятор требует скобку после слова file... что ему не нравится?} var m,s:integer; begin m:=p; while m<>c do begin seek(f,m); read(f,s); write(g,s); m:=m+1; end; m:=m-1; while m<>p do begin seek(f,m-1); read(f,s); write(g,s); m:=m-1; end; end; procedure kratn(n:byte; const c,d:byte;var f,g:file of integer); var j,p:byte; begin p:=0; while p<>n do begin for j:=1 to n/c do to_n(p,c,d,f,g); p:=p+d; end; end; procedure ne_kratn(n:byte; const c,d:byte;var f,g:file of integer); var j,p:byte; s:integer; begin p:=0; while p<>n do begin for j:=1 to n/c do to_n(p,c,d,f,g); p:=p+d; end; while not eof(f) do begin read(f,s); write(g,s); end; end; begin clrscr; assign(f,'f.dat'); assign(g,'g.dat'); writeln('vvedite N - koli4estvo 4isel v ishodnoi posledovatelnosti'); read(n); writeln('vvedite eti 4isla'); rewrite(f); for i:=1 to n do begin read(b); write(f,b); end; close(f); writeln('vvedite C');read(c); {в моей задаче с дано и равно 3-после каждого третего эл-та записаны два предыдущих, я решила обобщить} d:=2*c-1; {это сумма эл-тов напр а1,а2,а3,а2,а1.тоже для обобщения} reset(f); rewrite(g); if (n mod c)=0 then kratn(n,c,d,f,g) else ne_kratn(n,c,d,f,g); close(g); reset(g); reset(f); writeln('ishodnii fail:'); while not eof(f) do begin read(f,b); write(b,' '); end; writeln; writeln('polu4ennii fail:'); while not eof(g) do begin read(g,b); write(b,' '); end; close(f); close(g); readkey; end. в каждой подпрограмме такая ошибка. без них всё работает, но код настолько больше! да и по требованиям подпрограммы нужны. пробовала передать как параметр-значение, тоже ошибка( что здесь может быть не так? Сообщение отредактировано: svetkom - 14.12.2006 7:43 |
![]() ![]() |
![]() |
Текстовая версия | 18.07.2025 13:58 |