Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.53/15: Рейтинг темы: голосов - 15, средняя оценка - 4.53
Ghost
174 / 174 / 40
Регистрация: 16.09.2012
Сообщений: 526
1

День рождения

21.04.2013, 23:35. Показов 2899. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Заданы день и месяц рождения, а также текущие день, месяц и год. Определить, сколько дней осталось до дня рождения.


Технические условия
Входные данные

В первой строке находятся разделённые пробелами день и месяц рождения, во второй - разделённые пробелами текущие день, месяц и год.

Год от 1920 до 3000, месяц - от 1 до 12, день - от 1 до числа дней в месяце.

Выходные данные

Вывести число дней, оставшихся до дня рождения.
Кликните здесь для просмотра всего текста
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
#include<iostream>
#include<cmath>
#include<cstdio>
#include<cstring>
#include<string>
#include<set>
#include<algorithm>
#include<vector>
#include<map>
#include<iomanip>
 
using namespace std;
 
#define DB(a) cout<<#a<<"="<<a<<" ";
#define DBN(a) cout<<#a<<"="<<a<<endl;
 
typedef string ss;
typedef long long ll;
typedef unsigned long long ull;
typedef vector<int> vi;
typedef pair<int, int> pii;
typedef vector<ll> vll;
typedef vector<pii> vpii;
typedef map<int, int> mii;
typedef set<int> seti;
 
#define min(a,b) ((a)<(b)?(a):(b))
#define max(a,b) ((a)>(b)?(a):(b))
#define sqrt(a) (sqrt(1.0*(a)))
#define sqr(a) ((a)*(a))
#define all(a) (a.begin(),a.end())
 
typedef struct {
    ll x;
    ll y;
} date;
 
typedef struct {
    ll d;
    ll m;
    ll year;
} now;
const int mod = 1000000007; // const int mod = 1000000009;
const double EPS = 1E-7;
 
bool used[100001];
vi g[100001];
int t;
int k = 0;
bool go = false;
 
int main() {
    date birthday;
    now nowaday;
    ll m = 0, s = 0;
    const int n = 12;
    //    ll arr[] {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
    ll arr[n];
    arr[0] = 31;
    arr[1] = 28;
    arr[2] = 31;
    arr[3] = 30;
    arr[4] = 31;
    arr[5] = 30;
    arr[6] = 31;
    arr[7] = 31;
    arr[8] = 30;
    arr[9] = 31;
    arr[10] = 30;
    arr[11] = 31;
 
    cin >> birthday.x >> birthday.y;
    cin >> nowaday.d >> nowaday.m >> nowaday.year;
    if (nowaday.year % 4 == 0 && nowaday.year % 100 != 0 || nowaday.year % 400 == 0) {
        arr[1] = 29;
    }
    if (birthday.y > nowaday.m) {
        for (int i = nowaday.m; i < birthday.y; i++)
            m += arr[i];
        m -= nowaday.d;
        cout << m << endl;
    }
    //    for (int i = 0; i < 12; i++) {
    //        cout << arr[i] << endl;
    //
    //
    //    }
 
 
    return 0;
}
- набросок и то считает не правильно, помогите разобраться, хотябы словесный алгоритм
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.04.2013, 23:35
Ответы с готовыми решениями:

Введите месяц и день своего рождения
Задача 19. Введите месяц и день своего рождения. Выясните, какой ближайший год будет для вас...

Сколько съел Винни-Пух на 15-ый День Рождения
Винни-пух на свое день рождение ведает столько еды сколько съел на двух предыдущих на первых двух...

Определить очень счастливый день рождения или обычный
Введите свой год, месяц и день рождения, Ваш день рождения очень счастливый, просто счастливый или...

День недели дня рождения. Проблема с вводом-выводом
Всем привет! В общем, написал я это чудо, вижу &quot;Введите год&quot;, ввожу, но ввод не останавливается по...

1
15 / 15 / 4
Регистрация: 31.10.2011
Сообщений: 116
22.04.2013, 00:16 2
не вглублялся в код, но у меня когда-то была похожая задача и я догло мучался чтобы учесть все нюансы при подщете, а потом мне посоветовали воспользоваться формулой перехода дней от григорианского календаря к юлианскому. поищите в гугле, думаю пригодится. у меня была задача подщета дней между двумя датами. запрограммировав формулу перехода у меня все вышло
0
22.04.2013, 00:16
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.04.2013, 00:16
Помогаю со студенческими работами здесь

Винни-Пух на каждый свой день рождения съедает столько...
помогите написать программу с помощью оператора while Винни-Пух на каждый свой день рождения...

С использованием структуры составить программу, выдающую день рождения класса
Добрый вечер, уважаемые программисты. Написал программу, а она не хочет запускаться, понять, что за...

Описать структуру ZODIAK (знак зодиака, фамилия, имя, день рождения)
Описать структуру ZODIAK (знак зодиака, фамилия, имя, день рождения). Введите данные в массив,...

Распарсить строку и записать дату рождения в три целочисленные переменные - отдельно день, месяц и год
Столкнулся с такой проблемой, дана строка(дата рождения, числа разделены двоеточиями ) ,из нее...


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

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