Вопрос задан 27.07.2023 в 11:28. Предмет Информатика. Спрашивает Малолеткина Александра.

Задача в С++ Дни недели пронумерованы следующим образом: 1- понедельник, 2 -вторник, ..6-суббота,

7 - воскресенье. Дано целое число К, лежащее в диапазоне 1-365. Определить номер дня недели для К-го дня года, если известно, что в этом году 1 января было вторником.
0 0
Перейти к ответам

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

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

Пример работы на рисунке 1.

Код:

#include <iostream>

#include <clocale>

#include <string>

using namespace std;


int main() {

setlocale(LC_ALL, "Russian");


//Входные данные

int K = 43;


if(K < 1 || K > 365) {

 cout << "Неверные входные данные";

 return 1;

}

// Дни

string Days[] = { "Понедельник", "Вторник", "Среда", "Четверг", "Пятница", "Суббота", "Воскресение" };

int N = K % 7;

cout << "День года №" << K << " называется " << Days[N] << endl;

system("pause");

return 0;

}


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

Для решения этой задачи вам понадобится алгоритм, который позволит определить день недели для заданного числа К (день года). Так как известно, что 1 января этого года было вторником, мы можем использовать эту информацию для определения дня недели для любого другого числа в году.

Воспользуемся следующим алгоритмом:

  1. Найдите остаток от деления (К - 1) на 7.
  2. Добавьте этот остаток к номеру дня недели 1 января (вторник) и найдите остаток от деления суммы на 7.
  3. Полученный остаток соответствует номеру дня недели для К-го дня года.

Реализация алгоритма на языке C++:

cpp
#include <iostream> int main() { int K; std::cout << "Введите целое число K (от 1 до 365): "; std::cin >> K; int dayOfWeekJan1 = 2; // Вторник (1 января) int dayOfWeekK = (dayOfWeekJan1 + (K - 1)) % 7; if (dayOfWeekK == 0) dayOfWeekK = 7; // Воскресенье обозначим как 7, а не 0 std::cout << "Номер дня недели для " << K << "-го дня года: " << dayOfWeekK << std::endl; return 0; }

После ввода числа К, программа определит номер дня недели для этого дня года. Нумерация дней недели будет соответствовать вашему описанию: 1 - понедельник, 2 - вторник и так далее, с воскресеньем обозначенным как 7.

0 0

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

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

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

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