Помощь - Поиск - Пользователи - Календарь
Полная версия: заполнение массива данными из файла
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
VEDA
Вот такая задача:

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

Как объяснить что данные из файла это массив? Ничего не могу поделать sad.gif

это все что вышло
VEDA
Или хоть подскажите где это обсуждалось... Четыре часа лазию по подобным форумам, не могу похожее найти... wub.gif
volvo
Цитата
Как объяснить что данные из файла это массив?
А это обязательное условие - работа с файлом? Тогда придется поэлементно читать числа из файла в массив:

i := 1;
while not eof(f) do begin
readln(f, a[i]);
inc(i);
end;
, но учти, что файл не должен хранить больше 10 чисел, у тебя ограничен размер массива. Как лучше делать - говорить не буду, я уже один раз сделал замечание Непогрешимому - в итоге я же и остался виноват... Кто знает, возможно то что я предложу опять Ему не понравится... dry.gif
klem4
1. открываешь текстовый файл (содержащий числа) для чтения (reset)
2. обнуляешь счетчик (count = 0); и произведение (p = 1)
3. начинаешь цикл прохода по файлу (while not eof(f) do beign ...)
в цикле:
a. читаешь очередное значение (readln(f, value));
б. увеличиваешь счетчик на 1 (count = count + 1)
в. проверяешь: if (count mod 3) = 0 ( если число кратно трем, то )then p := p * value; (добавляешь значение к произведению)
конец цикла.

4. открываешь файл для записи (append)
5. дописываешь в него значение value: writeln(f, value);
6. закрываешь файл.

вроде все smile.gif

Файлы



добавлено:
или я что-то не так понял ?
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.