Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
ирина фомина
0 / 0 / 0
Регистрация: 21.10.2016
Сообщений: 4
1

Определить день недели по номеру дня года

30.10.2016, 07:02. Просмотров 1364. Ответов 10
Метки нет (Все метки)

помогите, пожалуйста!!! составить программу на С++:Дано целое число n.Получить число 1,2,...,7 в зависимости от того,на какой день недели(понедельник,вторник,...,субботу или воскресенье)приходится n-й день невисокосного года,в котором 1 января -среда.
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.10.2016, 07:02
Ответы с готовыми решениями:

Для к-го дня года определить день недели
Для к-го дня года, определить день недели. нумерация с 0-воскресенье..6-суббота. Первый день года...

Определить по номеру дня года будет этот день выходным или будним
Дано целое число k. Определите, каким будет k-й день года: выходным (суббота и воскресенье) или...

Определить день недели для K-го дня года, если известно, что 1 января было субботой
Здравствуйте! Условие задачи: Дни недели пронумерованы следующим образом: 1 - понедельник, 2 -...

По заданному году и порядковому номеру дня в году определять день недели и месяц этого дня
Задачу не можем решить 3 людьми. ______________________________ Написать программу, которая бы...

1 января не високосного года-понедельник. Вводится число и месяц этого года. Вывести день недели этого дня
1 января не високосного года-понедельник. Вводится число и месяц этого года. Вывести день недели...

10
Полурослик
26 / 22 / 11
Регистрация: 28.03.2016
Сообщений: 66
30.10.2016, 15:42 2
n - это "абсолютный" номер дня с нового года?
0
Байт
Эксперт C
21260 / 13431 / 2834
Регистрация: 24.12.2010
Сообщений: 28,437
30.10.2016, 15:51 3
C++
1
(n + 2)%7 + 1
1
Полурослик
26 / 22 / 11
Регистрация: 28.03.2016
Сообщений: 66
30.10.2016, 15:53 4
C++
1
2
3
4
int day(int n, int first_day)//first_day - среда т.е. 3
{
    return n % 7 + first_day - 1;
}
0
30.10.2016, 15:53
Байт
Эксперт C
21260 / 13431 / 2834
Регистрация: 24.12.2010
Сообщений: 28,437
30.10.2016, 15:55 5
Полурослик, а то что при n = 6 получается 8, не смущает?
0
nonedark2008
30.10.2016, 16:01
  #6

Не по теме:

Цитата Сообщение от Байт Посмотреть сообщение
при n = 6 получается 8, не смущает?
Это мнимый выходной, все правильно.

0
Полурослик
26 / 22 / 11
Регистрация: 28.03.2016
Сообщений: 66
30.10.2016, 16:03 7
Бывает.
Поспешишь людей насмешишь.
По поводу n: если дни недели начинаются с 1, а не с нуля, то и n от единицы, т.е результат от 1 = среде?
C++
1
2
3
4
int day(int n, int first_day)
{
    return (n + first_day - 1) % 7;
}
0
Day
1164 / 969 / 83
Регистрация: 29.10.2009
Сообщений: 1,386
31.10.2016, 12:33 8
Цитата Сообщение от ирина фомина Посмотреть сообщение
n-й день невисокосного года
В данной постановке високосность года не имеет никакого значения...
0
ирина фомина
0 / 0 / 0
Регистрация: 21.10.2016
Сообщений: 4
31.10.2016, 12:59  [ТС] 9
Спасибо,я уже решила.Про високосный год просто сказано в условии,я тоже не поняла какое он имеет значение в вычислениях.Моя формула: (1+n)%7+1,Программа прошла,еще раз спасибо всем!
0
Байт
Эксперт C
21260 / 13431 / 2834
Регистрация: 24.12.2010
Сообщений: 28,437
31.10.2016, 13:13 10
Цитата Сообщение от ирина фомина Посмотреть сообщение
.Моя формула: (1+n)%7+1
Да, все правильно. Я просто по старой сишной привычке посчитал 1 января нулевым днем, то есть разница наших формул только в начале отсчета. И у вас он более "человеческий"
1
SpBerkut
Объявлятель переменных
949 / 275 / 276
Регистрация: 24.09.2011
Сообщений: 1,009
Завершенные тесты: 2
31.10.2016, 13:17 11
День недели по григорианскому календарю. 0 — понедельник, 6 — воскресенье.
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
 
unsigned getDayOfWeek(unsigned year, unsigned day)
{
    year--;    
    return (year*365 + year/4 - year/100 + year/400 + day - 1) % 7;
}
 
int main()
{
    std::cout << getDayOfWeek(2016, 305); // 31 октября 2016
}
0
31.10.2016, 13:17
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.10.2016, 13:17

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

Определить номер дня недели для заданного дня года
Дни недели пронумерованы следующим образом: 0 — воскресенье, 1 — понедельник, 2 — вторник, ..., 6 —...

Определить номер дня недели для K-го дня года
Дни недели пронумерованы следующим образом: 0 — воскресенье, 1 — понедельник, 2 — вторник, …, 6 —...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.