Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на языке Pascal


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Pascal

Выпуск № 231
от 22.10.2006, 23:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 210, Экспертов: 54
В номере:Вопросов: 1, Ответов: 3


Вопрос № 59290: Здравствуйте, как считать с файла Ciphry.in в масив числа? Колличество чисел в файле не оганичена. Пример чисел в файле в приложении....

Вопрос № 59.290
Здравствуйте, как считать с файла Ciphry.in в масив числа? Колличество чисел в файле не оганичена. Пример чисел в файле в приложении.

Приложение:

Отправлен: 17.10.2006, 23:08
Вопрос задал: ataman (статус: 2-ой класс)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 2)

Отвечает: Strory
Здравствуйте, ataman!

Итак, в главном цикле будем читать файл, пока он не кончится и записывать считываемы данные в массив. Дополнительно введём проверку на выход за границы массива. Будем считать, что файл содержит только числа в установленном условием формате.

В итоге, получим:

const
  N = 100;
var
  i, num: integer;
  a: array [1..N] of integer;
begin
  Assign(input, 'Ciphry.in');
  Reset(input);
  i := 1;
  while not eof do begin
    ReadLn(num);
    if i <= N do
      a[i] := num;
    inc(i);
  end;
  Close(input);
end.

Удачи!
  Strory.
Ответ отправил: Strory (статус: Практикант)
Ответ отправлен: 18.10.2006, 00:59

Отвечает: Verena
Здравствуйте, ataman!
Если совсем не ограничивать количество записей в файле, то можно сделать всё то же самое (как в предыдущем ответе), но с использованием динамического массива. Предварительно считаем количество записей в файле и выделяем память под массив из стольких же элементов.
---------
Эта история - не для истории, понимаешь?
Ответ отправила: Verena (статус: 2-ой класс)
Ответ отправлен: 18.10.2006, 01:27

Отвечает: sir henry
Здравствуйте, ataman!
Если Вы используете Turbo Pascal, то при заранее неизвестном кол-ве чисел, наверное лучше использовать TCollection, который представляет из себя динамический массив с уже готовыми методами для манипулирования с ним. Если FreePascal, то любой объект из Дельфи - TList и т.п.
Что-то типа такого:
Program tcol;
Uses Objects;
Var
F: Text;
massiv: PCollection;
chislo: ^Integer;
chf: Integer;
Begin
massiv:=New(PCollection, Init(20, 10));
Assign(F, 'Ciphry.in');
Reset(F);
WriteLn('Начинаем...');
While not Eof(F) Do
Begin
New(chislo);
Read(F, chf);
chislo^:=chf;
massiv^.Insert(chislo);
End;
Close(F);
WriteLn('Количество считаных чисел из файла: ', massiv^.Count);
ReadLn;
Dispose(massiv, Done);
End.
Ответ отправил: sir henry (статус: Академик)
Россия, Красноярск
----
Ответ отправлен: 18.10.2006, 09:56


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.37 от 04.10.2006
Яндекс Rambler's Top100

В избранное