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

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

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

> Типизированный файл
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 5
Пол: Мужской

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


Помогите, пожалуйста, решить задачу
Создать файл целых чисел. Определить суммы между локальными минимумами, записав их в новый файл.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


?
***

Группа: Пользователи
Сообщений: 283
Пол: Мужской

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


давай по порядку
все вот это

b:=10;
for i:=1 to b do
begin
a:=random(50)+25;
write (f,a);
end;
while not eof(f) do
begin
read (f,a);
write (a:4);
end;
close (f);
l:=0;
reset(f);
i:=0;


можно записать как


writeln('введите количество чисел ');
readln(b);
for i:=1 to b do
begin
a:=random(50)+25;
write (f,a);
write(a:4);
end;
readln; //дляя просмотра чисел, можно и не писать.
seek(f,0)
l:=0;
i:=0;



все вот ето лудше переределать на фунции
 While i<filesize(f)-4 do
begin
read (f, b, c, d);
if (c<b) and (c<d) then
begin
sum:=sum+b;
seek(f,i);
i:=i+2;
end
else if c>d then
begin
sum:=sum+b;
seek(f,i);
i:=i+1;
end
else
begin
sum:=sum+b+c;
seek(f,i);
i:=i+2;
end;
rewrite(f1);
write (f1,sum);
close (f1);
sum:=0;
end;


тоесть нужно сначала провеку зделать вдруг там 2 или 1 число;
if filesize(f)<3 then 
begin
writeln('min nety');
readln;
halt;
end;


мини функция
function my(a,b,c:integer):boolean;
begin
my:=false;
if (b<c) and (b<a) then my:=true
end;


потом
i:=0;
while i<=filesize(f)-3 do
begin
read(f,a,b,c);
if my(a,b,c) then sum:=sum+b;
seek(f,i+2);
i:=i+1;
end;

и потом sum записіваеш в файл

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

Сообщений в этой теме
MayBe   Типизированный файл   13.03.2009 23:10
amega   ну с файлом все просто type TFile = file of int…   13.03.2009 23:55
Айра   Ну уж мы то тем более не знаем, что это на русско…   14.03.2009 3:25
amega   Просто я с украин и у мну лекции на укр идут по …   14.03.2009 20:41
MayBe   в условии задачи никакой интервал задан не был...   14.03.2009 21:11
andriano   Так в чем проблема? Локальный минимум - любая точк…   14.03.2009 23:08
MayBe   хееелп :cray:   22.03.2009 18:40
klem4   В чем проблема ? Пока не достигли конца файла пыта…   23.03.2009 0:59
amega   да но после сравнения нужно на 2 значения вернутся…   23.03.2009 1:59
klem4   И что ? Юзая seek это не вызовет никаких труднос…   23.03.2009 2:07
amega   все наши мысли можна проверить если автор даст исх…   23.03.2009 3:16
Айра   Ну как бы файл можно заполнить и рэндомно, а потом…   23.03.2009 3:26
MayBe   файл итак надо заполнять рандомно...   23.03.2009 19:31
Айра   Ну вот) Какие у самого мысли, попытки - делись ))   23.03.2009 21:06
MayBe   на счёт рандомно - я имел ввиду первоначальный фай…   24.03.2009 2:07
amega   давай по порядку все вот это b:=10; for i:…   24.03.2009 2:29


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

 





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