Модераторы: volvo877, Snowy, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Runtime error 106 (при работе с файлами) 
:(
    Опции темы
Innuendo108
Дата 13.10.2008, 01:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 143
Регистрация: 3.4.2008

Репутация: нет
Всего: 2



Есть программа, которая обрабатывает некоторые данные.
Для начала я решил проверить правильность считывания данных с файла (и вывод их в другой файл).
Использую free pascal под Ubuntu.
Компилятор ни ошибок ни варнов не пишет, а при запуске программы пишет ошибку:
Цитата("ERROR")

Runtime error 106 at $080481D1
  $080481D1
  $08067881


вот сама программа:
Код

program Oberbek;
const
J0 = 0.0237;
m = 0.745;
m0 = 0.169;
var
t : array [1..6, 1..6] of real;
s : real;
i,j,k : integer;
r,d : array [1..6] of real;
F,G: text;

begin
assign (F, 'dan.in');
assign (G, 'dan.out');
reset (F); rewrite (G);
writeln (G, '---Oberbek Laba---');
writeln (G, 'Zapolneaem dannie: ');
writeln (g,' PERVIY test');
for i:=1 to 3 do
        begin
            readln (F,R[i]);
            for k:=1 to 2 do
                begin
                     readln (F,d[k]);
                     s:=0;
                     for j:=1 to 5 do
                        begin
                             read (F,t[(i-1)*2+j,j]);
                             s:=s+t[i*k,j];
                        end;
                     readln (F);
                     t[i*k,6] := s/5;
                end;

        end;
writeln (G,'Vi Vveli: ');
for i:=1 to 3 do
        begin
             writeln (G,'R',i,' = ',R[i]);
             for k:=1 to 2 do
                writeln (G,'d',k*i,' = ',d[k*i]);
                begin
                        for j:=1 to 6 do
                                write (G,t[i*k,j]:8:3, ' ');
                        writeln(G);
                end;
             writeln(g);
        end;       
        close(f);
close (g);
end.


вот файл dan.in :
Цитата("dan.in")

0.1
0.042
5.659 5.406 5.327 5.315 5.528
0.084
2.594 2.547 2.551 2.55 2.445
0.03
0.042
4.04 4.03 3.953 4.008 4.001
0.084
1.85 1.902 1.847 1.91 1.825
0.23
0.042
9.954 9.7 9.645 9.864 10.005
0.084
4.476 4.552 4.556 4.531 4.542



вот как проявляется ошибка:
Цитата(FP)

evgheny@evgheny-laptop:~/FP$ fpc test
Free Pascal Compiler version 2.2.0 [2008/04/01] for i386
Copyright © 1993-2007 by Florian Klaempfl
Target OS: Linux for i386
Compiling test.pas
Linking test
52 lines compiled, 0.1 sec
evgheny@evgheny-laptop:~/FP$ ./test
Runtime error 106 at $080481C5
  $080481C5
  $0805F221

evgheny@evgheny-laptop:~/FP$ cat dan.out
evgheny@evgheny-laptop:~/FP$ 



В чём может быть проблема?
Заранее благодарен за ответ

Это сообщение отредактировал(а) Innuendo108 - 13.10.2008, 02:00
PM MAIL   Вверх
remax
Дата 13.10.2008, 02:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доцент
**


Профиль
Группа: Участник Клуба
Сообщений: 686
Регистрация: 7.4.2002
Где: Украина, Харьков

Репутация: нет
Всего: 5



Для начала, убери строку 32:   readln (F);

Когда команда read дочитывает до конца строки, то автоматом, без всякой помощи, переходит на следующую строку...


--------------------
Как бы ты не старался быть хорошим и правильным человеком с принципами и уважительным отношением к другим, всегда найдется кто-то, кто бросит в тебя какашку
PM MAIL ICQ Skype   Вверх
Innuendo108
Дата 13.10.2008, 03:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 143
Регистрация: 3.4.2008

Репутация: нет
Всего: 2



пробовал, не помогает
Уже пол ночи сижу =)
Сделал новый скрипт, который пополняю медленно ( вроде работает, но тоже были разы когда не работало а потом вдруг заработало)...
Сил нет чтоб полностью из новой программы накрутить старую.. Завтра уже попробую ещё че-нить.
Ошибка явно в readln каких-то.. он пытается считать число а там нет числа
PM MAIL   Вверх
remax
Дата 13.10.2008, 03:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доцент
**


Профиль
Группа: Участник Клуба
Сообщений: 686
Регистрация: 7.4.2002
Где: Украина, Харьков

Репутация: нет
Всего: 5



А почему первая строка в файле dan.in пустая?


--------------------
Как бы ты не старался быть хорошим и правильным человеком с принципами и уважительным отношением к другим, всегда найдется кто-то, кто бросит в тебя какашку
PM MAIL ICQ Skype   Вверх
Innuendo108
Дата 13.10.2008, 06:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 143
Регистрация: 3.4.2008

Репутация: нет
Всего: 2



не пустая, сорри. Так тут вывелось.
PM MAIL   Вверх
volvo877
Дата 13.10.2008, 09:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2072
Регистрация: 15.11.2004

Репутация: 2
Всего: 116



Innuendo108, добавь строку:

Код

                     for j:=1 to 5 do
                        begin
                             writeln((i-1)*2+j); // <--- Вот эту
                             read (F,t[(i-1)*2+j,j]);
                             s:=s+t[i*k,j];
                        end;
, и ты поймешь, что за ошибка... У тебя элементарный выход за границы массива...
PM MAIL   Вверх
Innuendo108
Дата 16.10.2008, 00:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 143
Регистрация: 3.4.2008

Репутация: нет
Всего: 2



Спасибо, ага.
И я чтоб больше не путаться, переиначил структуру входного файла - сделал просто матрицу чисел. А уже с матрицей работать легче =)
PM MAIL   Вверх
roatueque
Дата 9.2.2023, 00:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 8.2.2023

Репутация: нет
Всего: нет




Модератор: Сообщение скрыто.

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi"
THandle
Rrader
volvo877

Запрещается!

1. Обсуждать и делится взломанными компонентами или программным обеспечением

2. Публиковать ссылки на варез

3. Оффтопить

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, THandle, Rrader, volvo877.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Object Pascal: кроссплатформенные технологии | Следующая тема »


 




[ Время генерации скрипта: 0.1248 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.