
Программисты на питоне или c++ ХЕЛП! пытался решить но выходит не верно (набираю только 3 из 10
балов) жду вашй помощи задача ниже даю 60б Первоклассник Петя очень хочет себе набор юного радиолюбителя. Узнав об этом, мама пообещала Пете подарить его на Новый год. С тех пор Петя считает дни до заветного праздника и ждёт с нетерпением момента, когда он получит подарок и сможет заняться любимым делом. Помогите Пете посчитать, сколько дней осталось ждать Нового года. Пример: Ввод: 30.10.1977 Ответ: 63

Ответы на вопрос

#include <iostream>
#include <vector>
using namespace std;
bool isLeap(int y){
return (y % 400 == 0 || (y % 4 == 0 && y % 100 != 0));
}
signed main(){
string s, cur;
cin >> s;
vector<int> d;
for(int i = 0; i < s.length(); i++){
if(s[i] == '.'){
d.push_back(stoi(cur));
cur.clear();
}
else
cur += s[i];
}
d.push_back(stoi(cur));
int k = d[0];
d[1]--;
while(d[1] > 0){
if(d[1] == 2) k += 28 + isLeap(d[2]);
else if((d[1] < 8 && d[1] % 2 == 1) || (d[1] >= 8 && d[1] % 2 == 0)) k += 31;
else k += 30;
d[1]--;
}
cout << (365 + isLeap(d[2])) - k + 1;
}



Для решения этой задачи на Python или C++ можно использовать следующий код:
```python from datetime import datetime, timedelta
# Ввод даты в формате день.месяц.год date_input = input("Введите дату в формате дд.мм.гггг: ") date_format = "%d.%m.%Y" start_date = datetime.strptime(date_input, date_format)
# Получаем текущую дату current_date = datetime.now()
# Вычисляем разницу между текущей датой и указанной датой delta = start_date - current_date
# Получаем количество оставшихся дней days_left = delta.days
# Выводим результат print(f"Осталось {days_left} дней до Нового года.") ```
```c++
#include
int main() { // Ввод даты в формате день.месяц.год std::cout << "Введите дату в формате дд.мм.гггг: "; std::string date_input; std::cin >> date_input;
// Преобразование строки в структуру tm std::tm start_date = {}; strptime(date_input.c_str(), "%d.%m.%Y", &start_date);
// Получаем текущую дату и время std::time_t now = std::time(nullptr); std::tm* current_date = std::localtime(&now);
// Вычисляем разницу между текущей датой и указанной датой
double seconds = std::difftime(std::mktime(&start_date), std::mktime(current_date));
int days_left = static_cast
// Выводим результат std::cout << "Осталось " << days_left << " дней до Нового года." << std::endl;
return 0; } ```
Оба этих кода работают по схожему принципу. Мы вводим дату в заданном формате и затем преобразуем ее в объект даты/времени. Затем мы получаем текущую дату/время и вычисляем разницу между ними. Результатом является количество оставшихся дней до нового года, которое выводится на экран.
Надеюсь, это поможет вам решить вашу задачу и получить полный балл!


Похожие вопросы
Топ вопросов за вчера в категории Информатика







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili