Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/26: Рейтинг темы: голосов - 26, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 05.05.2015
Сообщений: 1
1

Определить количество високосных годов между двумя введёнными

05.05.2015, 21:32. Просмотров 4863. Ответов 2
Метки нет (Все метки)

В общем, нужно написать программу (C++), которая будет определять кол-во високосных годов между двумя введёнными. Какие есть варианты решения задачи?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.05.2015, 21:32
Ответы с готовыми решениями:

Определить количество дней между двумя датами, введёнными пользователем
#include <iostream> using namespace std; void main() { setlocale(LC_ALL, "Rus"); int...

Определить количество воскресений между двумя введенными датами
Помомгите пожалуйста! Нужно определить сколько воскресений между датами введенными по запросу...

Как программно получить количество високосных годов за промежуток времени?
Как программно получить количество високосных годов за промежуток времени? Например, с 1.01.2000...

Рассчитать количество дней в заданном месяце (с учетом високосных годов)
Реализовать алгоритм в переменную yar находится номер года, в переменной mont номер месяца (1...12)...

2
582 / 385 / 216
Регистрация: 20.01.2013
Сообщений: 1,169
06.05.2015, 09:55 2
Лучший ответ Сообщение было отмечено Bonai как решение

Решение

Ну как то так
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
#include <iostream>
 
int main()
{
    int minYear, maxYear;
    minYear = maxYear = 0;
    
    std::cout << "Input min year : "; std::cin >> minYear;
    std::cout << "Input max year : "; std::cin >> maxYear;
    
    if(minYear > maxYear)
    {
        std::cout << "You input incorrect data";
        return 1;
    }
    
    int countYear = 0;
    
    for(int i = minYear; i < maxYear; ++i)
    {
        if(i % 400 == 0 || i % 4 == 0 && i % 100 != 0)
           ++countYear;
    }
    
    std::cout << "Count years : " << countYear << std::endl;
    return 0;
}
1
Эксперт C
25230 / 15705 / 3354
Регистрация: 24.12.2010
Сообщений: 34,267
06.05.2015, 11:15 3
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Немножко грошовой оптимизации
C++
1
2
3
4
5
6
if (minYear%4) minYear = (minYear/4)*4 + 4;
for(int i = minYear; i < maxYear; i+=4)
    {
        if(i % 400 == 0  && i % 100 != 0)
           ++countYear;
    }
2
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.05.2015, 11:15

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Определить, сколько из чисел являются номерами високосных годов
Даны натуральные числа n,m(n&lt;=m) определить,сколько из чисел n,n+1,..,m являются номерами...

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

Даны натуральные числа n,m(n<=). Определить,сколько из чисел n,n+1,.,m являются номерами високосных годов
Даны натуральные числа n,m(n&lt;=). Определить,сколько из чисел n,n+1,...,m являются номерами...

Определить времена года между двумя введенными датами
Друзья, помогите с задачей. Условие звучит так: Задайте с клавиатуры две даты в виде день, месяц....


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.