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

Найти номер N дня с начала года - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Codeforces.Double Cola http://www.cyberforum.ru/cpp-beginners/thread1027438.html
Условие задачи таково: Шелдон, Леонард, Пенни, Раджеш и Говард стоят в очереди к автомату по продаже баночек с напитком «Double Cola», других людей в очереди нет. Первый в очереди (Шелдон) покупает...
C++ Получить новую матрицу прибавлением к элементам каждого столбца первой матрицы произведения элементов соответствующих строк второй матрицы Даны две действительные квадратные матрицы порядка n. Получить новую матрицу прибавлением к элементам каждого столбца первой матрицы произведения элементов соответствующих строк второй матрицы. http://www.cyberforum.ru/cpp-beginners/thread1027427.html
Определить, что положительных чисел больше, чем отрицательных C++
Найти количество положительных чисел среди четырёх целых чисел. Если количество положительных чисел больше количества отрицательных,то найти максимальное среди положительных,иначе найти минимальное...
Вывести на экран все числа последовательности являющиеся составными и их делители C++
Применение функций при работе с последовательностями чисел. Поступает последовательность целых положительных чисел, 0 – конец последовательности. Вывести на экран все числа последовательности...
C++ Вычисления таблицы значений суммы S(x) (не вычисляется логарифм) http://www.cyberforum.ru/cpp-beginners/thread1027420.html
Составить программу вычисления таблицы значений суммы S(x): S(x)=\sum_{k=0}^{n}\frac{{\ln}^{k}3}{k!}{x}^{k} Еще одна схожая задача, но тут не читается логарифм (ln). Нужен совет...
C++ Выдать на экран сведения о пассажирах, имеющих более двух вещей Написать программу создания файла, содержащего, данные о багаже пассажиров характеризуется фамилией пассажира, количеством вещей и общим весом вещей. Выдать на экран сведения о пассажирах, имеющих... подробнее

Показать сообщение отдельно
FAQEnD
43 / 43 / 1
Регистрация: 15.12.2012
Сообщений: 88
03.12.2013, 22:26
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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
#include <iostream>
using namespace std;
int CountDay(int Day, int Month, int Yeah);
int main()
{
    int Day, Month, Year;
    cout<<"Enter Day, Month, Year"<<endl;
    do
    {
        cin>>Day>>Month>>Year;
    }while(Day >31 || Month >12);
    cout<<CountDay(Day, Month, Year);
    system("Pause");
    return 0;
}
 
int CountDay(int Day, int Month, int Year)
{
    int N;
    if(Year%4 != 0)//Не високосный год
    {
        switch(Month)
        {
        case 1:
            {
                N = Day;
                break;
            }
        case 2:
            {
                N = 31 + Day;//Февраль
                break;
            }
        case 3:
            {
                N = 59 + Day;//Март
                break;
            }
        case 4:
            {
                N = 90 + Day;//Апрель
                break;
            }
        case 5:
            {
                N = 120 + Day;//Май
                break;
            }
        case 6:
            {
                N = 151 + Day;//Июнь
                break;
            }
        case 7:
            {
                N = 181 + Day;//Июль
                break;
            }
        case 8:
            {
                N = 212 + Day;//Август
                break;
            }
        case 9:
            {
                N = 243 + Day;//Сентябръ
                break;
            }
        case 10:
            {
                N = 273 + Day;//Октябръ
                break;
            }
        case 11:
            {
                N = 304 + Day;//Ноябръ
                break;
            }
        case 12:
            {
                N = 334 + Day;//Декабръ
                break;
            }
        }
    }
    else//високосный год
        switch(Month)
        {
        case 1:
            {
                N = Day;
                break;
            }
        case 2:
            {
                N = 31 + Day;//Февраль
                break;
            }
        case 3:
            {
                N = 60 + Day;//Март
                break;
            }
        case 4:
            {
                N = 91 + Day;//Апрель
                break;
            }
        case 5:
            {
                N = 121 + Day;//Май
                break;
            }
        case 6:
            {
                N = 152 + Day;//Июнь
                break;
            }
        case 7:
            {
                N = 182 + Day;//Июль
                break;
            }
        case 8:
            {
                N = 213 + Day;//Август
                break;
            }
        case 9:
            {
                N = 244 + Day;//Сентябръ
                break;
            }
        case 10:
            {
                N = 274 + Day;//Октябръ
                break;
            }
        case 11:
            {
                N = 305 + Day;//Ноябръ
                break;
            }
        case 12:
            {
                N = 335 + Day;//Декабръ
                break;
            }
        }
    return N;
}
Добавлено через 22 минуты
Чуть подумал и оптимизировал код:

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 CountDay(int Day, int Month, int Yeah);
int main()
{
    int Day, Month, Year;
    cout<<"Enter Day, Month, Year"<<endl;
    do
    {
        cin>>Day>>Month>>Year;
    }while(Day >31 || Month >12);
    cout<<CountDay(Day, Month, Year);
    system("Pause");
    return 0;
}
 
int CountDay(int Day, int Month, int Year)
{
    int N(0), Mounthes[12]={31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}, i(0);
    int Mounthes_2[12]={31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
    if(Year%4 != 0)//not
    {
        do
        {
            N += Mounthes[i];
            i++;
        }while(i != Month);
    }
    else
        do
        {
            N += Mounthes_2[i];
            i++;
        }while(i != Month);
    return N + Day;
}
3
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru