допустим дана дата: день месяца - от 1 до 31; месяц - от 1 до 12; год - от 1700 до 2100
нужно определить каким днем недели будет введенный день месяца
теперь вопрос: нужно ли знать для начала хотя бы текущий день недели
чтобы было от чего отталкиваться в поиске или
есть какой коэффициент для определения дня недели в выше указанном
промежутке лет,
например ввели дату определили високосный ли год ну и т. д.
Другие языки программирования и технологии
определить день недели по дате
#include <conio.h>
#include <math.h>
#include <stdio.h>
int main ()
{
int god, chislo=1, let, i=0, T=1 ;
printf("Enter year \n");
scanf("%i",&god);
let = god - 1900 ;
if (let > 0)
{
do
{
if (T==4)
chislo = chislo + 2, T=0 ;
else
chislo = chislo +1 ;
if (chislo >= 8)
chislo = chislo -7 ;
i++;
T++;
}
while (i < let) ;
}
else
{
chislo = chislo-1;
do
{
if (T==4)
chislo = chislo - 2, T=0 ;
else
chislo = chislo - 1 ;
if (chislo <= -8)
chislo = chislo +7 ;
i--;
T++;
}
while (i > let) ;
}
switch (chislo)
{
case 1 : printf ("\n First of January in %i will be Monday", god);
break ;
case 2 : printf ("\n First of January in %i will be Tuesday", god);
break ;
case 3: printf ("\n First of January in %i will be Wednesday", god);
break ;
case 4 : printf ("\n First of January in %i will be Thursday", god);
break ;
case 5: printf ("\n First of January in %i will be Friday", god);
break ;
case 6: printf ("\n First of January in %i will be Saturday", god);
break ;
case 7: printf ("\n First of January in %i will be Sunday", god);
break ;
case -7 : printf ("\n First of January in %i will be Monday", god);
break ;
case -6 : printf ("\n First of January in %i will be Tuesday", god);
break ;
case -5: printf ("\n First of January in %i will be Wednesday", god);
break ;
case -4 : printf ("\n First of January in %i will be Thursday", god);
break ;
case -3: printf ("\n First of January in %i will be Friday", god);
break ;
case -2: printf ("\n First of January in %i will be Saturday", god);
break ;
case -1: printf ("\n First of January in %i will be Sunday", god);
break ;
}
getch();
return 0;
}
Я вот так определял 1 января на какой день выпадет в определённый год на языке С.
С учётом того, что в 1900 году 1 января был понедельник.
#include <math.h>
#include <stdio.h>
int main ()
{
int god, chislo=1, let, i=0, T=1 ;
printf("Enter year \n");
scanf("%i",&god);
let = god - 1900 ;
if (let > 0)
{
do
{
if (T==4)
chislo = chislo + 2, T=0 ;
else
chislo = chislo +1 ;
if (chislo >= 8)
chislo = chislo -7 ;
i++;
T++;
}
while (i < let) ;
}
else
{
chislo = chislo-1;
do
{
if (T==4)
chislo = chislo - 2, T=0 ;
else
chislo = chislo - 1 ;
if (chislo <= -8)
chislo = chislo +7 ;
i--;
T++;
}
while (i > let) ;
}
switch (chislo)
{
case 1 : printf ("\n First of January in %i will be Monday", god);
break ;
case 2 : printf ("\n First of January in %i will be Tuesday", god);
break ;
case 3: printf ("\n First of January in %i will be Wednesday", god);
break ;
case 4 : printf ("\n First of January in %i will be Thursday", god);
break ;
case 5: printf ("\n First of January in %i will be Friday", god);
break ;
case 6: printf ("\n First of January in %i will be Saturday", god);
break ;
case 7: printf ("\n First of January in %i will be Sunday", god);
break ;
case -7 : printf ("\n First of January in %i will be Monday", god);
break ;
case -6 : printf ("\n First of January in %i will be Tuesday", god);
break ;
case -5: printf ("\n First of January in %i will be Wednesday", god);
break ;
case -4 : printf ("\n First of January in %i will be Thursday", god);
break ;
case -3: printf ("\n First of January in %i will be Friday", god);
break ;
case -2: printf ("\n First of January in %i will be Saturday", god);
break ;
case -1: printf ("\n First of January in %i will be Sunday", god);
break ;
}
getch();
return 0;
}
Я вот так определял 1 января на какой день выпадет в определённый год на языке С.
С учётом того, что в 1900 году 1 января был понедельник.
Возьми текущий день за основу. Ты же знаешь, что сегодня - среда! Только осторожней с високосными годами...
а вам обязательно расчитывать? сейчас практически во всех ЯП есть модули по работе с датой, где это делается автоматом
Екселем воспользуйтесь.
Похожие вопросы
- Хотел составить программу в PascalABC, которая по введённой дате пишет его день недели.
- Скажите сколько месяцев нужно изучать Делфи что бы написать программу вывода даты, дня недели и года в окно ?
- Написать программу в С++. Составить программу, которая по введенному номеру дня недели выводит его название.
- Напишите программу для pascal, пожалуйста. Введена дата, определить дату следующего воскресенья.
- Помогите определить шрифт по кругу! два дня мучаюсь уже -никак не найду. Hermes похож, но не подходит. ( Выручайте!
- Как вывести на сайт дату в формате (дата + N дней) Но чтоб не получилось "37 декабря"
- Вопрос по ПаскалюВводится дата (день, месяц, год) необходимо посчитать сколько дней прошло с начала года.
- Как убрать пароль с Bios?Я уже вытаскивал батарейку и на 1час и на день не помогло токо время и дату сбивает.
- По дате вычислить порядковый номер дня в нашей эре.На паскале. Подскажите как это сделать ;/
- как получить разницу между двумя датами в днях C++. напишите пример