Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 26, средняя оценка - 4.65
prikolist08
0 / 0 / 0
Регистрация: 16.07.2013
Сообщений: 4
#1

Определить день недели на который приходится заданная дата - C++

23.10.2013, 10:58. Просмотров 4054. Ответов 4
Метки нет (Все метки)

Здесь d - число месяца, т - номер месяца, если начинать счет с марта, как это делали в Древнем Риме (март - 1, апрель - 2, ..., февраль - 12), Y - номер года в столетии, с - количество столетий. Квадратные скобки означают, что надо взять целую часть от значения, находящегося в скобках. Вычисленное по формуле значение определяет день недели: 1 - понедельник, 2 - вторник, ..., 6 - суббота, 0 - воскресенье.
http://kafitimpi.sfedu.ru/stud_materials/Dzaurov/images/img6266750.JPG

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include<stdio.h>
#include<iostream.h>
void main()
{
int day,month,year;
int c,y,m,d;
printf("\nopredelenie dnya nedely po date");
printf("vvedite daty: dd mm gggg");
printf("->");
scanf("%i %i %i", &day,&month,&year);
if ((month==1)&&(month==2))
year--;
m=month-2;
if(m<=0) m==12;
c=year/100;
y=year-c*100;
d=(day+(13*m-1)/5+y+y/4+c/4-2*c+777)%7;
switch(d)
{
case 1: puts("Ponedel'nik"); break;
case 2: puts("Vtornik"); break;
case 3: puts("Sreda"); break;
case 4: puts("Chetveg"); break;
case 5: puts("Pyatnica"); break;
case 6: puts("Sybbota"); break;
case 0: puts("Voskresenie"); break;}
}
вот программа но она не работает для високосного года например вводим 29.02.2004 то он выводит вторник хотя на самом деле это воскресение
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.10.2013, 10:58
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Определить день недели на который приходится заданная дата (C++):

программа которая по дате находит день недели на который эта дата приходится - C++
Ребята помогите пожалуйста написать программу, можно на с++ или на java или c#. Если не тяжело помогите для зачета нужно пожалуйста!

Дана дата в формате день:месяц:год. Определить день недели - C++
Задание: Дана дата в формате день:месяц:год. Определить день недели.

Определить день недели с датой D и M, если W - день недели первого января - C++
даны два числа D и M, определяющие день и месяц. W - день недели 1 января. Определить день недели с датой D и M. Прощу помощи т.к вообще...

Дата и день недели - C++
В общем задача такая: надо реализовать функцию, которая на вход будет получать дату в формате (год, месяц ,день), и будет возвращать день...

Создайте класс «Дата» со свойствами год, високосный год, месяц, день месяца и день недели - C++
Создайте класс «Дата» со свойствами год, високосный год, месяц, день месяца и день недели. Создайте для него метод котрый бы...

По текущей дате и дню недели определить день недели с такой же датой заданного года - C++
По текущей дате и дню недели определить день недели с такой же датой заданного года. (C++ )

4
Rivory
146 / 112 / 2
Регистрация: 15.01.2013
Сообщений: 266
23.10.2013, 11:06 #2
Ну я в эту формулу все подставил вручную, у меня тоже вторник получился.
http://www.wolframalpha.com/input/?i...0%2B777%29mod7
0
prikolist08
0 / 0 / 0
Регистрация: 16.07.2013
Сообщений: 4
23.10.2013, 11:15  [ТС] #3
нужно как то доработать что бы високосный год считал тоже
0
Nelo_001
1 / 3 / 2
Регистрация: 31.10.2013
Сообщений: 168
16.02.2016, 17:41 #4
Ввод через американский стандарт !
2016 02 16
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<html>
<head>
<script type="text/javascript">
function time()
{
var a=prompt("","","");
var d=new Date(a);
 
var day=d.getDate();
var mounth=d.getMonth()+1;
var year=d.getFullYear();
 
 
var wday=new Array(7);
wday[0]="Воскресенье";
wday[1]="Понедельник";
wday[2]="Вторник";
wday[3]="Среда";
wday[4]="Четверг";
wday[5]="Пятница";
wday[6]="Суббота";
 
document.write(day + "." + mounth + "." + year);
var day_d = d.getDay();
alert (wday[day_d]);
}
</script>
</head>
<body>
 
<body onload="time()">
</html>
0
gru74ik
Эксперт CЭксперт С++
4207 / 1853 / 198
Регистрация: 20.02.2013
Сообщений: 4,992
Записей в блоге: 22
16.02.2016, 18:24 #5
Nelo_001, уважаемый, Вы либо разделом ошиблись, либо языком программирования. Вам так не кажется?
0
16.02.2016, 18:24
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.02.2016, 18:24
Привет! Вот еще темы с ответами:

Определить, на какой день недели проходится k-й день невисокосного года в котором 1 января - понедельник - C++
вводится k-й день года (1&lt;=k&lt;=365).Определить и вывести,на какой день недели проходится k-й день невисокосного года в котором 1...

считая что год не высокосный и известен день, на который приходится 1 января, подсчитать количество понедельников в году приходящихся на 13-е число - C++
считая что год не высокосный и известен день, на который приходится 1 января, подсчитать количество понедельников в году приходящихся на...

Определить день недели по дате - C++
Здравствуйте,в универе дали такое задание. Сделать программу в С++ builder. &quot;составить программу определяющую день недели по дате&quot;....

Определить день недели с датой D и M - C++
Даны два числа D и M, определяющие день и месяц. W – день недели 1 января. Определить день недели с датой D и M. Год невисокосный.


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

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

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