|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
06.12.2009, 16:24 | #1 |
Пользователь
Регистрация: 29.11.2009
Сообщений: 13
|
определения дня недели по дате
Ув. программисты у меня стоит задача я не знаю как правильно ее решить.суть задачи в том что:Первого января года был понедельник. Определить по данной дате день недели и его порядковый номер в году. и надо ее решить используя смешанный тип.
Есть идея посчитать по дате сколько дней и делить на 7 пока не выпадет число меньше или равное 7 и сопоставить это число с днем недели |
06.12.2009, 17:10 | #2 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
вот функции, которые вам помогут:
Код:
определяете порядковый номер дня в году. разбираете дату на день, месяц и год. (например, в переменные ДеньДаты, МесяцДаты, ГодДаты) год нужен, чтобы определить високосный год или нет. Код:
|
06.12.2009, 18:58 | #3 |
Пользователь
Регистрация: 29.11.2009
Сообщений: 13
|
Спасибо.А подскажи пожалуйста как использовать это с комбинированными типами?знаю глупый вопрос.просто я еще новичок=(А по теории что то никак не пойму.как можно присваивать значения комбинированному типу.ну т.е. для меня он должен выглядеть как 12 массивов по 31 элементу.и в цикле им нужно сопоставить число,дня который он по счету с 1 января.как мне сделать это с комбинированным типом?
|
06.12.2009, 22:49 | #4 |
Пользователь
Регистрация: 29.11.2009
Сообщений: 13
|
Код:
|
07.12.2009, 00:54 | #5 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Кофеман, а Вы знаете что такое "процедура" и что такое "функция"? и чем они друг от друга отличаются?
например, у Вас есть функция leap, которая возвращает булевское значение високосный год или нет.. И кому она эта значение возвращает? в пустоту... ;( то же самое и с другими функциями... тот код, который Вы привели мало того, что не работает! Он же даже не компилируется ;( |
07.12.2009, 03:10 | #6 |
Пользователь
Регистрация: 29.11.2009
Сообщений: 13
|
уже решил проблему.пришлось написать весь код заново.вот что получил.если кому понадобится
Код:
|
07.12.2009, 09:59 | #7 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Отлично!
Только вместо цикла while (sum_day>7) do sum_day:=sum_day-7; лучше Код:
|
11.12.2009, 21:27 | #8 |
Пользователь
Регистрация: 29.11.2009
Сообщений: 13
|
Вы прям как чувствовали)Преподователь именно этот кусок кода мне и сказал упростить) А можете подсказать как упростить момент
Код:
и вообще как избавится от case в коде без существенного усложнения в коде |
11.12.2009, 23:20 | #9 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
а это можно заменить ОЧЕНЬ легко. Ведь количество дней в каждом месяце фиксированно! А февраль можно потом и через if подкорректировать... вот так, например: Код:
Код:
|
|
11.12.2009, 23:55 | #10 |
Пользователь
Регистрация: 29.11.2009
Сообщений: 13
|
Спасибо большое!=)про массив я как то не подумал=)
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Вывод дня недели по дате и наоборот (СИ) | Xcess | Помощь студентам | 6 | 08.10.2009 14:02 |
Зависимость даты дней от дня недели | valerij | Microsoft Office Excel | 16 | 18.06.2009 01:17 |
Первая номер дня в дате | mirawoo | Microsoft Office Access | 3 | 17.06.2008 15:19 |
Добавление дня к дате | Askat | БД в Delphi | 2 | 03.03.2008 11:30 |