Из-файла в массив. |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Из-файла в массив. |
Haba |
Сообщение
#1
|
Группа: Пользователи Сообщений: 6 Репутация: 0 |
Господа модераторы, прошу извинения за ругательный характер заголовка предыдущей созданной мной темой.
А теперь по сабжу. Очень прошу, помогите пожалуйста: не могу найти ни в одной справке, как из файла перекопировать данные в массив... Причём не надо писать программу, опишите только одну или две строчки (уж не знаю, сколько места эта операция занимает) того, как это делается. Заранее благодарен. |
APAL |
Сообщение
#2
|
Смотрю... Группа: Пользователи Сообщений: 1 055 Пол: Мужской Реальное имя: Пшеничный Алексей Анатольевич Репутация: 6 |
Можно так:
f - файл m - массив Код Read(f,m) или Код For i:=1 to 10 do Read(f,m[i]); или Код i:=1; While not EOF(f) do Begin Read(f,m[i]); Inc(i); End; или через BlockRead Думаю найдется еще несколько способов - все зависит от поставленной задачи. -------------------- |
Altair |
Сообщение
#3
|
Ищущий истину Группа: Пользователи Сообщений: 4 825 Пол: Мужской Реальное имя: Олег Репутация: 45 |
Цитата Господа модераторы, прошу извинения за ругательный характер заголовка предыдущей созданной мной темой Во-первых не модераторы, а модератор. Во-вторых не господа, а товарищи! Господа денег требуют, а мы Цитата помогая друг другу, мы справимся с любыми трудностями! И тему я переименовал. :D По делу: ------------------------------------- Если файл тектовый, то важно знать как в нем записанны элементы массива, если посточно, то используем процедуру ReadLn, для считывания элементов в файл, а если эл-ты массива записанны в строчку через пробел, то используем Read. (процедуры в цикле "пока нет конца файла повторять" - "While Not eof(f) do") Если файл двоичный, то нужно знать его структуру. Например: F:file of byte Значит каждый эл-т файла может быть эл-том массива. Или f:file of array[1..n]; значит в файле уже записан массив, и его просто надо считать так: read(f,a), где a - массив, точно такой как в файле. ----- Т.е. для считывания из файла эл-тов надо использовать в цикле процедуры read или readln. Цитата или через BlockRead Ну если файл не типизированный, то можно, только это сложнее и не нужно для учебных задач. Это скорее для настоящих задач, т.к. используя BlockRead можно увеличить до максимума скорость чтения, если читать данные, размер которых совпадает с размером кластера. -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
APAL |
Сообщение
#4
|
Смотрю... Группа: Пользователи Сообщений: 1 055 Пол: Мужской Реальное имя: Пшеничный Алексей Анатольевич Репутация: 6 |
Респект!
:D -------------------- |
Haba |
Сообщение
#5
|
Группа: Пользователи Сообщений: 6 Репутация: 0 |
Код i:=1; While not EOF(f) do Begin Read(f,m[i]); Inc(i); End; Вот именно это мне и нужно было! Огромнейшее спасибо! Сообщение отредактировано: volvo - |
Текстовая версия | 11.05.2024 16:06 |