IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Задача: обработка файлов., В продолжении вчерашней темы.
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 37
Пол: Мужской
Реальное имя: Евгений

Репутация: -  0  +


Следуя 6 правилу форума, создаю новую тему.
Задача: Программирование циклических процессов.

Задание такое же, что и в предыдущей задаче. Только теперь действия выполняются не в массиве, а в файле.
Нужно вычислить:
1. Номер минимального по модулю элемента;
2. Сумму модулей элементов, расположенных после первого отрицательного элемента.

Вот, начал... Ток во-первых Паскаль выдаёт ошибку: "100: Disk read error.", указывая на строку "read (f, buf);", хотя диск и файл существуют. Во-вторых, не могу завершить задачу (вторую часть). Помогите, плз...

Program OAIP_L03;
Var
i, a, min, sum, buf : Longint;
f : file of Longint;

Begin
assign (f, 'D:\File_2.dat');
reset (f);

read (f, min);
min:=abs(min);
a:=1;

while not eof (f) do begin
read (f, buf);
if abs(buf) < min then begin
min:=abs(buf);
a:=filepos (f)-1;
end;
end;


writeln ('nomer min. el. - ', a);

close (f);


End.

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


а ты файл-то заполнил ? Причем файл у тебя типизированный и заполнять его надо программно ...


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Новичок
*

Группа: Пользователи
Сообщений: 37
Пол: Мужской
Реальное имя: Евгений

Репутация: -  0  +


Конечно, заполнил:
Цитата
1 2 5 -9 0 -2 1 7 -9 6

Или там в столбик нужно???
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


файл НЕ текстовый и, как я уже сказал, заполняется программно. То есть для его заполнения нужно написать отдельную программу (ну или сделать это в основной программе перед началом работы алгоритма)



--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Новичок
*

Группа: Пользователи
Сообщений: 37
Пол: Мужской
Реальное имя: Евгений

Репутация: -  0  +


Цитата
заполняется программно

А это как? В смысле как должна выглядеть эта "отдельная программа"?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


...
rewrite(f);
randomize;
for i := 1 to n do write(f, Random(100));
close(f);
...


например ...

зы Файлы


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Новичок
*

Группа: Пользователи
Сообщений: 37
Пол: Мужской
Реальное имя: Евгений

Репутация: -  0  +


И всё-таки непонятно, где должен быть код:
rewrite(f);
randomize;
for i := 1 to n do write(f, Random(100));
close(f);

По условию задачи, файл уже существует на диске.
Есть похожая задача (там нужно было подсчитать колличество элементов в диапазоне от a до b) - ни чего подобного там нет. Хотя там так же использовался типизированный файл *.arr.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


Ну так запихни этот код в отдельную программу, если так хочешь ... пусть она создаст файл. А потом работай с ним из своей программы.


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 22.01.2021 5:06
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name