С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/15: Рейтинг темы: голосов - 15, средняя оценка - 5.00
5 / 5 / 1
Регистрация: 21.02.2019
Сообщений: 38
1

Какое число будет послезавтра?

27.02.2019, 15:56. Показов 3125. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Привет, форумчане!

В программе нужно вывести какое число будет послезавтра. Формат ввода данных: ДД/ММ/ГГГГ, причем 10000 >= год > 0. Мой код программы:

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
#include <iostream>
 
using namespace std;
 
int main()
{
    int day, month, year;
    cin >> day >> month >> year;
    int newd, newm, newy;       // новый день, месяц и год
    int cx;
    switch (month){             // дней в не високосном году на каждый месяц
        case 1: cx = 31; break;
        case 2: cx = 28; break;
        case 3: cx = 31; break;
        case 4: cx = 30; break;
        case 5: cx = 31; break;
        case 6: cx = 30; break;
        case 7: cx = 31; break;
        case 8: cx = 31; break;
        case 9: cx = 30; break;
        case 10: cx = 31; break;
        case 11: cx = 30; break;
        case 12: cx = 31; break;
    }
 
    if (month == 2)         // т.к. нужно найти только послезавтра можно использовать это условие
        if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0))    // если год не кратен 100 и кратен 4, 
                                                                        // а также если он кратен 400 -
                                                                        // год високосный
            cx = 29;
    newd = day + 2;
    newm = month + newd / cx;
    newy = year + newm / 12;
    cout << newd % cx << ' ' << newm % 12 << ' ' << newy;
    return 0;
}
Задача не проходит два(!) теста из 34, скорее всего случай крайний. Помогите разобраться, пожалуйста!

Заранее благодарю!
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.02.2019, 15:56
Ответы с готовыми решениями:

Вычислить какое число будет послезавтра
По заданной дате требуется определить какое число будет послезавтра. Input - 1 8 2009 Output 3 8...

По заданной дате необходимо определить, какое число будет послезавтра
По заданной дате необходимо определить, какое число будет послезавтра. Необходимо чтоб менялся...

Какое число будет через n дней
Есть дата 01.01.2008. Вопрос какой день будет через n (0&lt;= n &lt;=1000) дней (c учётом високосных...

Определить какое число будет стоять на 135424 месте
В ряд в порядке возрастания выписали все семизначные числа.Потом те из них,в записи которых...

2
Диссидент
Эксперт C
27707 / 17325 / 3810
Регистрация: 24.12.2010
Сообщений: 38,979
27.02.2019, 17:12 2
Лучший ответ Сообщение было отмечено Watsab как решение

Решение

Watsab, Есть такая штука, что годы 4000 и 8000 високосятся против правил. Вот тебе они попались...

Добавлено через 10 минут
Да и вообще у тебя все неправильно.
08.12.2019 даст 10.12.2020, а это уже далеко не послезавтра...
Значит 1/12 тестов ты не прошел...
1
5 / 5 / 1
Регистрация: 21.02.2019
Сообщений: 38
27.02.2019, 17:48  [ТС] 3
Байт, как вы можете заметить, в вывод подаются слегка измененные newd, newm. А так спасибо)

Добавлено через 15 минут
Пардон, Байт, вы были правы, поправил
0
27.02.2019, 17:48
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.02.2019, 17:48
Помогаю со студенческими работами здесь

Нужно рассчитать день, который будет "послезавтра", по заданной дате
Нужно рассчитать день который будет послезавтра из заданной даты. Без использования &quot;всяческих...

Какое значение будет иметь а?
Помогите выбрать правильный вариант в этой задаче(и еще объясните, как вы считали). Заранее...

Вводить пятизначное число пока не будет введено правильноеповторять ввод, пока не будет введено пятизначное число. Не получается выполнить задание.
#include &lt;iostream&gt; using namespace std; int main() { setlocale(LC_ALL, &quot;rus&quot;); cout &lt;&lt;...

Какое значение будет выведено при выполнении операторов?
помогите пожалуйста.

Какое значение будет выведено при выполнении операторов?
int a,b,*pa,*pb; a=1; b=2; pa=&amp;a; pb=&amp;b; *pb=a; *pa=b; cout&lt;&lt;*pa&lt;&lt;&quot; &quot;&lt;&lt;*pb;

Какое значение будет выведено в результате работы программы?
#include &lt;iostream&gt; using namespace std; int main() { int k = 0; for (int i = 2; k * k &lt; 10; i...


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

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