Вопрос задан 19.06.2023 в 09:24. Предмет Информатика. Спрашивает Горбачева Анастасия.

Программисты на питоне или c++ ХЕЛП! пытался решить но выходит не верно (набираю только 3 из 10

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

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Шмаров Влад.

#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;

}

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для решения этой задачи на 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 #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(seconds / (24 * 60 * 60)); // 24 часа * 60 минут * 60 секунд

// Выводим результат std::cout << "Осталось " << days_left << " дней до Нового года." << std::endl;

return 0; } ```

Оба этих кода работают по схожему принципу. Мы вводим дату в заданном формате и затем преобразуем ее в объект даты/времени. Затем мы получаем текущую дату/время и вычисляем разницу между ними. Результатом является количество оставшихся дней до нового года, которое выводится на экран.

Надеюсь, это поможет вам решить вашу задачу и получить полный балл!

0 0

Похожие вопросы

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

Последние заданные вопросы в категории Информатика

Задать вопрос