Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.52/92: Рейтинг темы: голосов - 92, средняя оценка - 4.52
Шаровик затейник
696 / 445 / 78
Регистрация: 06.05.2010
Сообщений: 1,109
1

Алгоритм вычисления дня недели по дате

22.10.2010, 21:02. Показов 19185. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Посдкажите алгоритм вычисления дня недели по дате( день, месяц, год).
C++
1
2
3
4
int a = (14 - month)/12;
int y = year - a;
int m = month + 12*a - 2;
int week = (day+y+(y/4)-(y/100)+(y/400)+(31*m)/12) % 7;
day,month,year - вводиться с клавиатуры

Этот алгоритм работает не правильно. 22.10.2010 показывает пятница, с 20 по 30.10.2010 показывает пятница
1
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.10.2010, 21:02
Ответы с готовыми решениями:

Определение дня недели по дате
Помогите исправить, неправильно находит день недели. int date_day::true_day() const { ...

Определение дня недели по дате
Помогите найти ошибку. Работает, но не корректно. Определяет не тот день. #include<stdio.h>...

Вычисление дня недели по дате
здравствуйте. как можно вычислить день недели по дате? слышала про формулу Зеллера, но там мало...

Определение дня недели по введенной дате
Доброго времени суток! Программу я составил, вводишь день,месяц и год, и день недели она выдаёт. Но...

7
Freelance
Эксперт С++
2891 / 1826 / 356
Регистрация: 09.09.2010
Сообщений: 3,841
22.10.2010, 21:30 2
Тут что-то есть https://www.cyberforum.ru/cpp-... post887190
1
Шаровик затейник
696 / 445 / 78
Регистрация: 06.05.2010
Сообщений: 1,109
23.10.2010, 00:18  [ТС] 3
Asics^, благодарю, алгоритм в этой задаче рабочий)
0
246 / 178 / 47
Регистрация: 14.06.2010
Сообщений: 422
23.10.2010, 18:51 4
Crudelis, вас не затруднит представить этот алгоритм в С++?
А то я там многое недопонял.Например что это за параметр 'a' и что там за 'И' в Ит=Ит+И*B;
Буду очень благодарен
0
0 / 0 / 0
Регистрация: 27.03.2016
Сообщений: 1
28.03.2016, 10:00 5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
struct struct_date
{
short day;
short month;
short year;
};
 
int what_day(const struct struct_date* date)
{
int a = (14 - date->month) / 12;
int y = date->year - a;
int m = date->month + 12 * a - 2;
return (7000 + (date->day + y + y / 4 - y / 100 + y / 400 + (31 * m) / 12)) % 7;
}
остаток от деления Результат: 0 — воскресенье, 1 — понедельник и т. д.
0
2683 / 2255 / 244
Регистрация: 03.07.2012
Сообщений: 8,200
Записей в блоге: 1
28.03.2016, 10:26 6
Зачем там 7000 (все равно остаток от него 0)?
0
0 / 0 / 0
Регистрация: 21.01.2015
Сообщений: 4
27.11.2017, 20:40 7
Ещё здесь есть вариант решения задачи.
0
0 / 0 / 0
Регистрация: 08.11.2020
Сообщений: 116
27.02.2021, 10:26 8
Господа, а у меня в задаче год не учитывается. Как решить такую задачу?
0
27.02.2021, 10:26
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.02.2021, 10:26
Помогаю со студенческими работами здесь

Расчет дня недели по дате, исправьте ошибки
Программа должна считать день недели по дате, использую по заданию какую то римскую формулу. ...

Написать программу, которая запрашивает у пользователя номер дня недели, затем выводит название дня недели
Написать программу, которая запрашивает у пользователя номер дня недели, затем выводит название дня...

Написать программу, которая по номеру дня недели (целому числу от 1 до 7) выдает в качестве результата название дня недели
!!!!!

Определить номер дня недели для заданного номера дня года
а как это примерно будет на C++ ?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru