
Задача в С++ Дни недели пронумерованы следующим образом: 1- понедельник, 2 -вторник, ..6-суббота,
7 - воскресенье. Дано целое число К, лежащее в диапазоне 1-365. Определить номер дня недели для К-го дня года, если известно, что в этом году 1 января было вторником.

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

Пример работы на рисунке 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;
}




Для решения этой задачи вам понадобится алгоритм, который позволит определить день недели для заданного числа К (день года). Так как известно, что 1 января этого года было вторником, мы можем использовать эту информацию для определения дня недели для любого другого числа в году.
Воспользуемся следующим алгоритмом:
- Найдите остаток от деления (К - 1) на 7.
- Добавьте этот остаток к номеру дня недели 1 января (вторник) и найдите остаток от деления суммы на 7.
- Полученный остаток соответствует номеру дня недели для К-го дня года.
Реализация алгоритма на языке 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.


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








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