Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

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

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.03.2012, 14:06   #1
Akcentbek
Пользователь
 
Регистрация: 19.01.2012
Сообщений: 38
По умолчанию оФОРМЛЕНИЕ

НАПИСАЛ ФУНКЦИЮ \ НАХОДИТ СРЕДНЮЮ ДЛИНУ СВЯЗНЫХ ПОДПОСЛЕДОВАТЕЛЬНОСТЕЙ
ТЕПЕРЬ НУЖНО СДЕЛАТЬ ТАК ЧТОБЫ ФУНКЦИЯ ВЫПОЛНЯЛАСЬ ТОЛЬКО В ТОМ СЛУЧАЕ ЕСЛИ ФАИЛ ПОЛНОСТЬЮ СОСТОИТ ИЗ ЭЛЕМЕНТОВ ВЕЩЕСТВЕННОГО ТИПА
ЕСЛИ ФАИЛ НЕ УДОВЛЕТВОРЯЕТ ЭТОМУ ИЛИ НЕ НАИДЕН ВЫДАТЬ СООТВЕТСТВУЕЩЕЕ ПРЕДУПРЕЖДЕНИЕ
ПРИ ЭТО ВВОД \ВЫВОД НЕ ДОЛЖЕН БЫТЬ В ФУНКЦИЙ А ТОЛЬКО В ОСНОВНОЙ ПРОГРАММЕ



Код:


program kontrol;

  type
   TReal = real;
   TFile = file of TReal;
   var
   f: TFile;
   res: double;

  function mean(var f: TFile; var res: double): boolean;
   var
      r: TReal;
    len: longint;
      n: integer;

    begin

     n := 0;
     len := 0;




           WHILE NOT EOF(F) DO
           {$I-} read(f, r); {$I+}


           if r < 0.0 then
            begin

             inc(n);
             inc(len);
               while (not eof(f)) and (r < 0.0) do
                 begin
                   {$I-}
                     read(f, r);
                   {$I+}

                   if r < 0.0 then inc(len)
                 end;
                 if n <> 0 then
                  begin
                   mean := TRUE;
                   res := len/n;
                  end;



             end;
            END;

  begin

   assign(f, 'data.txt');
    rewrite(f);
   {$I-}   write(f, -1.0, -2.0, 1.0, -3.0,22.3,-45.6,7.8,-3.4,-7.5);  {$I+}
     close(f);

   assign(f, 'data.txt');
    reset(f);

     READLN(F);

   if mean(f, res) then
   writeln('res = ', res:0:3)

   else
   writeln('ERROR...');


  readln
 end.
Akcentbek вне форума Ответить с цитированием
Старый 20.03.2012, 14:40   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Код:
file of TReal;
файл не может НЕ СОСТОЯТЬ из элементов вещественного типа!
Единственное исключение - он (файл) может быть пустой (т.е. ни содержать ни одного числа). Других вариантов быть НЕ МОЖЕТ!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 20.03.2012, 15:00   #3
Akcentbek
Пользователь
 
Регистрация: 19.01.2012
Сообщений: 38
По умолчанию йцукен

Имеется ввиду что открывается постронний фаил созданный другой тестируещей программой
Akcentbek вне форума Ответить с цитированием
Старый 20.03.2012, 15:25   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Имеется ввиду что открывается постронний фаил созданный другой тестируещей программой
в той программе файл был задан НЕ через file of real ?!
т.е. Вы не знаете, каким образом другая программа писала в этот файл?!
тогда я боюсь вас разочаровать - имхо, достоверного способа определить формат файла в таком случае нет...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 20.03.2012, 15:51   #5
Akcentbek
Пользователь
 
Регистрация: 19.01.2012
Сообщений: 38
По умолчанию

не всмысле

что если через ioresult проверить если
не ноль значит не число, и ноль то число ?
Akcentbek вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Оформление курсовой colv Фриланс 2 06.12.2010 14:53
Оформление в Delphi. Oriqami Помощь студентам 1 15.09.2010 12:34
оформление FIIR Помощь студентам 1 16.06.2008 20:40