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

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

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

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





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

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


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


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

 



- Текстовая версия 18.07.2025 17:29
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"