Добрый день, эксперты. Как решить задачу "Создать файл прямого доступа,содержащий целые числа,и вычислить сумму значений,находящихся в этом файле". Спасибо.
Здравствуйте, roman! program NumSum; var F: File of integer; {создаём файл прямого доступа} numc: integer; sum: integer; num: integer; i: integer; begin Assign(f, 'C:simple.txt'); Reset(f); numc:=FileSize(f); num:=0; sum:=0; for i:=0 to numc-1 do begin Seek(f, i) ; Read(f, num); sum:=sum+num; end; Close(f); end. Ответ отправлен: 08.06.2004, 21:05 Отправитель: n0name Отвечает vitya
Добрый день, roman! 1. создаешь файл of integer 2. пишешь в него числа - лучше всего с помощью генератора случайных чисел 3. перематываешь файл 4. читаешь и суммируешь. Ответ отправлен: 09.06.2004, 09:45 Отправитель: vitya Отвечает Strory
Добрый день, roman! Блин, а я только кривого доступа умею делать ;) См. в приложении. Писал правда сходу, поэто очепятки не исключены. ЗЫ Работать будет не всегда (если вообще будет ;)). Учи файлы! Тогда узнаешь почему не будет работать. ЗЗЫ Короче, не ничего не пиши после последнего числа. ЗЗЗЫ А по правильному такие файлы организуют следующим образом: N - общее кол-во чисел в файле X1, X2, ... XN - далее следует N чисел Удачи!
Приложение: Ответ отправлен: 08.06.2004, 17:41 Отправитель: Strory Отвечает sir henry
Приветствую Вас, roman! Файл прямого доступа - это типизтрованый файл, в Вашем случае - типа Integer. См. приложение.
Приложение: Ответ отправлен: 08.06.2004, 18:07 Отправитель: sir henry Отвечает Boriss
Здравствуйте, roman! Не ё! Понапридумывали терминов ... Что такое файл "прямого" доступа? Что тогда все остальные - "кривого" доступа? Я знаю тестовые, типированные и нетипизированные И ВСЕ! Уточните задание. Решение простое, только лень делать пустую работу. А вдруг не то? Но в приложении вариант а типизированным файлом:
Приложение: Ответ отправлен: 08.06.2004, 18:27 Отправитель: Boriss Отвечает Black
Доброе время суток, roman! var A: File of integer; b,c,S,i: integer; begin Assign(A, '1.txt'); Reset(A); b:=FileSize(A); c:=0; S:=0; for i:=0 to b-1 do begin Seek(A, i); Read(A, c); S:=S+c end; Close(A) end. Ответ отправлен: 11.06.2004, 15:58 Отправитель: Black Отвечает Student
Приветствую Вас, roman! Если я правильно понял, нужно просто создать файл с данными и считать их для вычисления суммы. "Файл прямого доступа" - т.е. файл доступен для чтения и записи, доступ осуществляется из программы, а также файл может быть прочитан средствами операционной системы. В приложении один из способов решения задачи. С ув. Student.
Приложение: Ответ отправлен: 09.06.2004, 00:04 Отправитель: Student
Форма отправки вопроса
Внимание!
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+
или отправлять вопросы с сайта по адресу:
http://rusfaq.ru/cgi-bin/Message.cgi.