ОБСУЖДЕНИЕ

Проблема со считыванием данных из файла

7 ответов 6,4 тыс.
AI-выжимка обсуждения скоро

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

Автор темы
Здравствуйте!
Столкнулся с проблемой... Задача тривиальна - в *.txt файле дан ряд в одну строку дробных чисел, к примеру:

0 0.1 1 0.777 0.5

Задача - как считать из него данные и занести в двумерный массив? Кол-во строк, столбцов - дано изначально. В общем, пишу так:

Код:
F: File of Real;
cmas: array [1..1000,1..1000] of Real;

procedure TForm1.Button1Click(Sender: TObject);
begin
stk:=StrToInt(Edit1.Text); // кол-во строк
stb:=StrToInt(Edit2.Text); // кол-во столбцов

AssignFile(F,'INPUT.txt');
Reset(F);
While not eof(F) do 
begin
for i:=1 to stk do
begin
for j:=1 to stb do Read(F,cmas[i,j]);
end;
end;

А он ничего не читает...
Помогите, пожалуйста, разобраться...
 
Я не помню - точно ли для текстовых данных надо описать типизированный файл (F: File of Real;)
может, просто F:text;


Добавлено: sax_ol
ты такое спрашиваешь :RTFM:
 
sax_ol, он говорит про несоответствие форматов.

OKEN, пробовалось. То же самое.
 
romen

Про дебагер ув.romen видно точно не слышал.Почитайте про дебагер это очень полезная штука
http://ru.wikipedia.org/wiki/%D0%9E%D1%82%...%87%D0%B8%D0%BA

Вместо того, чтобы посылать в википедию, помочь-то можете, или не можете разобраться?
Я следил за изменениями элементов массива, они все обнуляются.
 
Если слышали и даже он вам чтото говорит, то почему не следуете его советам?
Почему установили File of Real?

Если сделать просто File, он ругается на то, что у меня элементы массива определены, а там нет. Совсем запутался :RTFM:
 
Думал, там построчно и в charах все считывается :RTFM: Разобрался, я совсем не то оказывается считывал и текстовый файл не так заполнен) Оплошался ;)
 
и еще...

Код:
begin
for i:=1 to stk do 
begin
for j:=1 to stb do Read(F,cmas[i,j]);
end;
end;

счет элементов массивов обычно ведется с 0 , а не с 1.