Форум программистов
 
Регистрация на форуме тут, о проблемах пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль

Купить рекламу на форуме 15-35 тыс рублей в месяц

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы Поиск в этой теме
Старый 05.05.2010, 23:32   #1
PlayHard
Пользователь
 
Регистрация: 05.05.2010
Сообщений: 13
Восклицание писал программу вылезло "попытка вызвать процедуру как функцю" объясните че не так

программа вот:
Код:
//Сформировать файл F целого типа.
//Найти S - сумму первых трех положительных компонент файла (считая, что они имеются в файле).
//Если  S>10, то получить из файла одномерный массив B, записывая в него каждую вторую компоненту файла. Массив распечатать.
//Если S<=10, то каждую компоненту файла увеличить на величину S. Файл распечатать.

program laba6;
var f:file of integer;
    B:array[1..999] of integer;
    s,a,n,i:integer;
begin
assign (f,'1.dat');
rewrite (f);
writeln ('введите 1-ый компонент файла');
readln (a);
n:=1;
while a<>999 do
      begin
      write (f,a);
      writeln ('следующии компонент или 999 для выхода');
      readln (a);
      n:=n+1;
      end;
s:=0;
a:=1;
reset (f);
while not eof (f) do
      begin
      read (f,a);
         begin
         repeat
         s:=s+a;
         until seek (f,4)
         end;
      end;
reset (f);
while not eof (f) do
      begin
      for i:=1 to n do
      read (f);
      if s>10 then
        begin
         if (filepos(f) mod 2)=0 then
         b[i]:=filepos(f)-1;
         write (b[i]:5);
         if s<=10 then
         a:=a*s;
         write (f,a);
         end;
      end;
reset (f);
while not eof (f) do
      begin
      read (f,a);
      write (a:5);
      end;
      close (f);
      
end.
пишет ошибку вот на этом шаге
Код:
s:=0;
a:=1;
reset (f);
while not eof (f) do
      begin
      read (f,a);
         begin
         repeat
         s:=s+a;
         until seek (f,4)
         end;
      end;
а именно здесь
Код:
 until seek (f,4)
че за фигня не пойму объясните плз че да как если сможете исправьте ошибку

заранее благодарю!!
PlayHard вне форума Ответить с цитированием
Старый 05.05.2010, 23:40   #2
Жека-старший
Пользователь
 
Регистрация: 09.04.2010
Сообщений: 52
По умолчанию

repeat
until seek (f,4)

после клюючевого слова until должно стоять условие, т.е. рез-т которого будет либо истина либо ложь.
а не оператор или функция.
ICQ 594 237 582
Жека-старший вне форума Ответить с цитированием
Старый 05.05.2010, 23:41   #3
Жека-старший
Пользователь
 
Регистрация: 09.04.2010
Сообщений: 52
По умолчанию

к примеру
Код:
repeat  
    inc(i);
    writeln(i);
     until i>30;
ICQ 594 237 582
Жека-старший вне форума Ответить с цитированием
Старый 06.05.2010, 09:55   #4
PlayHard
Пользователь
 
Регистрация: 05.05.2010
Сообщений: 13
По умолчанию

Цитата:
Сообщение от Жека-старший Посмотреть сообщение
к примеру
Код:
repeat  
    inc(i);
    writeln(i);
     until i>30;
а как же будет в моем случае (мне надо чтоб условие выполнялось пока указатель не станет на 3 компонент файла)
помогите плз не догоняю
PlayHard вне форума Ответить с цитированием
Старый 06.05.2010, 10:06   #5
Grag
А может и не...
Участник клуба
 
Аватар для Grag
 
Регистрация: 27.03.2010
Сообщений: 1,269
По умолчанию

Ну так и отслеживай файловый указатель...
Перемешивай дело с бездельем и не сойдешь с ума...
Grag вне форума Ответить с цитированием
Старый 06.05.2010, 20:07   #6
PlayHard
Пользователь
 
Регистрация: 05.05.2010
Сообщений: 13
По умолчанию

Цитата:
Сообщение от Grag Посмотреть сообщение
Ну так и отслеживай файловый указатель...
то есть?? ты о чем??? я не про я прост любитель так что плз с комментариями или наглядными примерами...а то я чет не поймуо чем ты
PlayHard вне форума Ответить с цитированием
Старый 06.05.2010, 20:32   #7
Жека-старший
Пользователь
 
Регистрация: 09.04.2010
Сообщений: 52
По умолчанию

Код:
repeat
............
............
............
until filepos(f1)=4;
так попробуй
ICQ 594 237 582
Жека-старший вне форума Ответить с цитированием
Старый 06.05.2010, 23:06   #8
PlayHard
Пользователь
 
Регистрация: 05.05.2010
Сообщений: 13
По умолчанию

Цитата:
Сообщение от Жека-старший Посмотреть сообщение
Код:
repeat
............
............
............
until filepos(f1)=4;
так попробуй
ошибку обошел спс за эту подсказку, но терь запускаешь программу (она запускается) все вводишь но конечный результат не выводит прост работает и все ничего не выводит мб я чет с выводом массива напутал??? посмотрите если не трудно саму программу особенно вывод...я лично ошибки не вижу че за фигня???
PlayHard вне форума Ответить с цитированием
Старый 15.05.2010, 00:25   #9
mifomen
Help, если смогу!
Пользователь
 
Регистрация: 14.09.2009
Сообщений: 55
По умолчанию

Поставь удерживать информацию на экране до нажатия клавиши.
Я помог =Нажми, НА ВЕСЫ.
Почему форум не поддерживает spoiler & spoiler2 ?
Если я вам помог, не будьте скупым R409586472993
mifomen вне форума Ответить с цитированием
Ответ
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не могу зайти на страничку "Вконтакте" - Пишет, Попытка соединения не удалась ЛиЛу Безопасность, Шифрование 51 16.06.2011 20:26
"ОКРВВЕРХ", "ОКР", "ЕСЛИ". Как бы их связать. Каравай Microsoft Office Excel 13 17.02.2010 09:53
Как скомпилировать программу так, чтобы "все было включено" grenles Общие вопросы Delphi 4 31.07.2008 17:05
Как сделать так,чтобы на форме отображалось свободное место диска "С"???? Alexij Общие вопросы Delphi 4 11.07.2008 23:21