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

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

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

> Записи, задача про день рождения, вроде несложная, но проблемы...
Clerick
сообщение 25.02.2006 13:36
Сообщение #1


студент..
***

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

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


Народ выручайте кто может!!!
Необходимо решить следущую задачу: составить прогу, которая выводит те года, в которых день рождения совпадает с "истинным" днем (т.е. тот, когда родился человек). Период времени +50 и -50 лет от текущей даты. Вот такая задача. mega_chok.gif

Большая просьба - помогите!!! Буду очень признателен!!! yes2.gif yes2.gif yes2.gif


--------------------
После дождя обязательно выглянет солнце)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
Closed Topic Открыть новую тему 
Ответов(1 - 9)
klem4
сообщение 25.02.2006 13:59
Сообщение #2


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

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

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


перебераешь все нужные года и смотришь, если день рождения попадает на нужный день, выводишь год ... Посмотри, вот модуль для работы с календарем

Сообщение отредактировано: klem4 - 25.02.2006 14:03


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


студент..
***

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

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


Цитата(klem4 @ 25.02.2006 15:59) *

перебераешь все нужные года и смотришь, если день рождения попадает на нужный день, выводишь год ... Посмотри, вот модуль для работы с календарем



А без перебора никак??? blink.gif


--------------------
После дождя обязательно выглянет солнце)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 25.02.2006 14:50
Сообщение #4


Гость






Что значит "Без перебора"? blink.gif Сразу вывести ВСЕ совпадающие года? Нет...

Кстати, это фактически не перебор, а цикл:
For Year := CurrYear - 50 To CurrYear + 50 Do
{
Проверить, совпадает ли день недели определенной даты
с днем недели этого же числа в ТЕКУЩЕМ году
}
 К началу страницы 
+ Ответить 
Clerick
сообщение 25.02.2006 15:22
Сообщение #5


студент..
***

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

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


Извиняюсь про "без перебора", ошибся, не то хотел сказать. А насчет цикла тут есть "засада":учитывая что наличие високосных годов даты слишком круто "скачут". Я никак не могу их учесть. blink.gif


--------------------
После дождя обязательно выглянет солнце)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 25.02.2006 15:36
Сообщение #6


Гость






Да тебе и не надо учитывать! В модуле это уже учтено:
uses calenfun; { Тебе же дали ссылку на этот модуль }

const
curr_year = 2006;
var
birth, other: tdate;
birth_day: byte;
year: integer;

begin
with birth do begin
d := 4; m := 5; y := 1971;
end;
birth_day := dayofweek(birth, grigorian);

for year := curr_year - 50 to curr_year + 50 do begin
other := birth;
other.y := year;
if dayofweek(other, grigorian) = birth_day then writeln(year);
end;
end.
Только что проверил на своем дне рождения - все работает...
 К началу страницы 
+ Ответить 
Clerick
сообщение 25.02.2006 17:52
Сообщение #7


студент..
***

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

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


Все сдаюсь... wacko.gif Нельзя ли все прогу сразу??? Буду очень признателен!!! good.gif good.gif good.gif

Сообщение отредактировано: Clerick - 25.02.2006 17:52


--------------------
После дождя обязательно выглянет солнце)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 25.02.2006 17:55
Сообщение #8


Гость






Я тебе привел программу полностью... Сходи по ссылке, которую дал klem4, скачай модуль calenfun, и присоедини его к программе...
 К началу страницы 
+ Ответить 
Clerick
сообщение 25.02.2006 18:06
Сообщение #9


студент..
***

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

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


Ну тогда все!!! Огромное спасибо!!! Пошел набивать!!! 1.gif 1.gif 1.gif


--------------------
После дождя обязательно выглянет солнце)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 25.02.2006 18:50
Сообщение #10


Гость






Вот в следующий раз ТЫ будешь сначала приводить свою программу, а потом тебе будут отвечать, ЯСНО? Совсем совесть потеряли - лень даже ПОПРОБОВАТЬ, прежде, чем что-то запостить, а даешь готовое решение - так еще и это не проверяют...

mad.gif
 К началу страницы 
+ Ответить 

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

 



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