![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 18.11.2006
Сообщений: 2
|
![]()
program inout;
{$APPTYPE CONSOLE} uses SysUtils; var f1,f2:TextFile; mas:array of double; cnt,i:integer; str:string; begin { TODO -oUser -cConsole Main : Insert code here } cnt := 0; if not FileExists('Input.txt') then begin writeln('Input.txt doesn''t exist'); readln; exit; end; AssignFile(f1,'Input.txt'); Reset(f1); Writeln('Hello, Medved!'); while not Eof(f1) do begin Readln(f1,str); if (str <> '') then begin mas[cnt] := StrToFloat(str);// ????? cnt := cnt + 1; end; str :='';// Как правильно почистить str ? end; Writeln('The mas:'); SetLength(mas,cnt); for i := Low(mas) to High(mas) do begin Writeln(mas[i]); end; Close(f1); end. Помогите новичку! Нужно, чтобы прога считала из txt файла массив double(каждая строка - число) и сформировав массив double вывела на консоль. В чем ошибка не пойму - массив не формируется ? Последний раз редактировалось _rav; 18.11.2006 в 01:22. |
![]() |
![]() |
![]() |
#2 | |
Delphi/C++/C#
Участник клуба
Регистрация: 29.10.2006
Сообщений: 1,972
|
![]()
интересно получается, ты объявляешь динамический массив, что-то пытаешь в него внести, а лишь потом задаёшь его размер!
Кароче вот что надо делать: Код:
Цитата:
|
|
![]() |
![]() |
![]() |
#3 |
Александр
Администратор
Регистрация: 28.10.2006
Сообщений: 17,630
|
![]()
str :='';// Как правильно почистить str ?
str:=''; - так правильно. посмотри ещё str:=nil; .... |
![]() |
![]() |
![]() |
#4 | |
Пользователь
Регистрация: 18.11.2006
Сообщений: 32
|
![]() Цитата:
Он переменной cnt изначальное значение задал 0, а надо 1, т.к. массив индексируется с первого элемента, а не с нулевого! ! ! ![]()
Незнание - рабство, знание - свобода ! ! !
|
|
![]() |
![]() |
![]() |
#5 | |
Александр
Администратор
Регистрация: 28.10.2006
Сообщений: 17,630
|
![]() Цитата:
Но сначало надо задать его размерность. |
|
![]() |
![]() |
![]() |
#6 |
Новичок
Джуниор
Регистрация: 18.11.2006
Сообщений: 2
|
![]()
спасибо, заработало. я просто хотел за одно открытие файла перенести массив. в принципе можно попробовать использовать списки, но массив по смыслу задачи ожидается около 1000 чисел, список будет не очень удобен для дальнейшей обработки.
|
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 18.11.2006
Сообщений: 32
|
![]()
Размерность - дк это да, а индексировать всеравно надо с первого, с нулевого - он будет дико ругатся(хотя кто знает
![]() По крайней мере я после Паскаля всегда индексирую с 1го...
Незнание - рабство, знание - свобода ! ! !
Последний раз редактировалось X=Vitamin=X; 19.11.2006 в 13:33. |
![]() |
![]() |
![]() |
#8 |
Александр
Администратор
Регистрация: 28.10.2006
Сообщений: 17,630
|
![]()
X=Vitamin=X, можешь хоть с 10 добавлять, и работать с элементами массива от 10....
Массив начинаеться с 0, это надо знать. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Работа с ini файлом | workres | Общие вопросы C/C++ | 5 | 24.04.2011 22:25 |
Работаю с текстовым файлом есть небольшая проблема | Parcenson | Общие вопросы Delphi | 2 | 13.08.2008 06:46 |
Помогите с файлом | snake-as | Общие вопросы Delphi | 5 | 26.04.2008 00:08 |
работа с txt файлом | ShenDy | Общие вопросы C/C++ | 1 | 08.04.2008 22:55 |
Проблема с файлом setup на visual basic. | irbiss | Помощь студентам | 5 | 03.04.2008 15:41 |