Форум программистов, компьютерный форум CyberForum.ru

Программа для определения дня недели для произвольной даты - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 54, средняя оценка - 4.67
swatkiev
0 / 0 / 0
Регистрация: 13.09.2010
Сообщений: 8
08.09.2011, 22:15     Программа для определения дня недели для произвольной даты #1
Доброго времени суток! Суть программы состоит в том, что нужно определить день недели для даты dd/mm/gg, если известен день недели 1 января gg года. Тоесть при введение произвольной даты любого года, на экран должно выводится название дня недели, соответствующее той дате, которую мы вводим.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.09.2011, 22:15     Программа для определения дня недели для произвольной даты
Посмотрите здесь:

Написать программу, которая запрашивает у пользователя номер дня недели, затем выводит название дня недели C++
Написать программу, которая по номеру дня недели (целому числу от 1 до 7) выдает в качестве результата название дня недели C++
Определить номер дня недели для K дня года C++
C++ Оформить в виде структуры год, месяц, число. Описать функцию для определения дня недели
C++ Определить день недели на который приходится заданная дата
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
jambas92
 Аватар для jambas92
58 / 57 / 3
Регистрация: 18.11.2010
Сообщений: 315
08.09.2011, 22:32     Программа для определения дня недели для произвольной даты #2
swatkiev а в чем трудность задачи та?? здесь бесплатно не решают)) здесь подталкивают к решению!

здесь ничего сложного нет! для начало определяешь високосный ли год, затем заводишь массив на 12 элементов, в котором хранятся дни в месяцах. после считаем сколько дней прошло после начало нового дня, затем делим это число на 7. целое число ответа обратно умножаем на 7, затем отнимаем друг от друга. вот это число и есть наш день!
например скажем сегодня 300 день (мы эту уже посчитали скажем), затем 300/7 = 42;
42*7=294;
300-294=6;
6-суббота.
x1Mike7x
 Аватар для x1Mike7x
214 / 127 / 6
Регистрация: 06.11.2010
Сообщений: 234
08.09.2011, 22:55     Программа для определения дня недели для произвольной даты #3
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
#include <iostream>
#include <string>
 
using namespace std;
 
int Date( int D, int M, int Y )
{
    int a, y, m, R;
    a = ( 14 - M ) / 12;
    y = Y - a;
    m = M + 12 * a - 2;
    R = 7000 + ( D + y + y / 4 - y / 100 + y / 400 + (31 * m) / 12 );
    return R % 7;
}
 
int main()
{
    int D, M, Y;
    char C;
    string S[7] = { "SUN", "MON", "TUS", "WED", "THU", "FRI", "SAT" };
    cin >> D >> C >> M >> C >> Y;
    cout << S[ Date( D, M, Y ) ] << endl;
    
    system("pause");
    return 0;
}
jambas92
 Аватар для jambas92
58 / 57 / 3
Регистрация: 18.11.2010
Сообщений: 315
08.09.2011, 22:58     Программа для определения дня недели для произвольной даты #4
круто))
swatkiev
0 / 0 / 0
Регистрация: 13.09.2010
Сообщений: 8
08.09.2011, 23:08  [ТС]     Программа для определения дня недели для произвольной даты #5
x1Mike7x, Спасибо за код!
jambas92, а Вам спасибо за дельный совет!
Yandex
Объявления
08.09.2011, 23:08     Программа для определения дня недели для произвольной даты
Ответ Создать тему
Опции темы

Текущее время: 02:39. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru