1. Заголовок темы должен быть информативным. В противном случае тема удаляется ... 2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения. 3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали! 4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора). 5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM! 6. Одна тема - один вопрос (задача) 7.Проверяйте программы перед тем, как разместить их на форуме!!! 8.Спрашивайте и отвечайте четко и по существу!!!
В текстовом файле содержится последовательность действительных чисел. Вычислить произведение чисел, порядковые номера которых кратны трем. Результат дописать в конец исходного файла. Имя файла вводится с клавиатуры.
Как объяснить что данные из файла это массив? Ничего не могу поделать
А это обязательное условие - работа с файлом? Тогда придется поэлементно читать числа из файла в массив:
i := 1; while not eof(f) do begin readln(f, a[i]); inc(i); end;
, но учти, что файл не должен хранить больше 10 чисел, у тебя ограничен размер массива. Как лучше делать - говорить не буду, я уже один раз сделал замечание Непогрешимому - в итоге я же и остался виноват... Кто знает, возможно то что я предложу опять Ему не понравится...
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. закрываешь файл.