![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Здравствуйте!
Столкнулся с проблемой... Задача тривиальна - в *.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; А он ничего не читает... Помогите, пожалуйста, разобраться... Последний раз редактировалось Admin, 21.12.2009 в 12:12. |
#2
|
||||
|
||||
![]() Я бы сделал так...
Код:
F: File of Real; cmas: array [1..1000,1..1000] of Real; procedure TForm1.Button1Click(Sender: TObject); var n, i, j : word; begin stk:=StrToInt(Edit1.Text); // кол-во строк stb:=StrToInt(Edit2.Text); // кол-во столбцов i := 0; j := 0; AssignFile(F,'INPUT.txt'); Reset(F); for n := 0 to FileSize(F) do//пройдемся по всему файлу begin Seek(F, n);//помечаем очередную строку в файле Read(F, cmas[i, j]);//читаем очередную строку inc(i);//увеличиваем строку в массиве if i = stk then//если дошли до кол-ва строк begin i := 0;//обнуляем кол-во строк inc(j);//увеличиваем кол-во столбцов end; if j = stb then//если дошли до кол-ва столбцов, то break;//выйти из цикла end; end; В начале был Бит, потом Байт и только потом появилось Слово... |
#3
|
|||
|
|||
![]() Спасибо, но тоже не работает.. Что означает, например, то, что выдается ошибка к примеру: "Вы не объявили эту переменную, но обращаетесь к ней". Хотя переменная объявлена.
|
#4
|
||||
|
||||
![]() Скажи, что не работает...или что неправильно работает...
И про какую переменную идет речь??? Может просто неправильно, или не в том месте ее объявил... В начале был Бит, потом Байт и только потом появилось Слово... |
#5
|
|||
|
|||
![]() Цитата:
Да ладно, все в порядке, дело было в объявлении файла.. Разобрался. Спасибо |