
Дни недели пронумерованы следующим образом: 1 - понедельник, 2 - вторник, 3 - среда, ... 7 -
воскресенье. Дано целое число K, лежащее в диапазоне [1...365]. Определите номер дня недели для K-го дня года, если известно, что в этом году 1 января было субботой. Решить на С++.

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

Ответ:
#include <iostream>
using namespace std;
void main()
{
setlocale(LC_ALL, "rus");
int day, num = 1;
cout << "Введите день года: ";
cin >> day;
while (day > 7)
{
day -= 7;
num++;
}
switch (day)
{
case 1: cout << "День недели - суббота" << endl; break;
case 2: cout << "День недели - воскресенье" << endl; break;
case 3: cout << "День недели - понедельник" << endl; break;
case 4: cout << "День недели - вторник" << endl; break;
case 5: cout << "День недели - среда" << endl; break;
case 6: cout << "День недели - четверг" << endl; break;
case 7: cout << "День недели - пятница" << endl; break;
}
cout << "Номер недели: " << num << endl;
system("pause");
}
Объяснение:
#include <iostream>
using namespace std;
void main()
{
setlocale(LC_ALL, "rus");
int day, num = 1;
cout << "Введите день года: ";
cin >> day;
while (day > 7)
{
day -= 7;
num++;
}
switch (day)
{
case 1: cout << "День недели - суббота" << endl; break;
case 2: cout << "День недели - воскресенье" << endl; break;
case 3: cout << "День недели - понедельник" << endl; break;
case 4: cout << "День недели - вторник" << endl; break;
case 5: cout << "День недели - среда" << endl; break;
case 6: cout << "День недели - четверг" << endl; break;
case 7: cout << "День недели - пятница" << endl; break;
}
cout << "Номер недели: " << num << endl;
system("pause");
}



Для решения этой задачи на языке С++ вам нужно использовать операцию взятия остатка от деления. Вместо того чтобы просто брать остаток от деления K на 7, вы должны сначала увеличить K на 3, чтобы учесть тот факт, что 1 января было субботой. Затем вы берете остаток от деления результата на 7.
Вот пример кода, который решает эту задачу:
```cpp
#include
int main() { int K; cout << "Введите K: "; cin >> K;
int day = (K + 3) % 7;
switch (day) { case 0: cout << "Воскресенье"; break; case 1: cout << "Понедельник"; break; case 2: cout << "Вторник"; break; case 3: cout << "Среда"; break; case 4: cout << "Четверг"; break; case 5: cout << "Пятница"; break; case 6: cout << "Суббота"; break; }
return 0; } ```
В этом коде сначала запрашивается ввод числа K. Затем вычисляется номер дня недели для K-го дня года, учитывая, что 1 января было субботой. Результат выводится на экран в виде названия дня недели.
Обратите внимание, что в этом коде используется оператор switch для вывода названия дня недели на основе его номера. Это делает код более читаемым и понятным, особенно если вы не знакомы с номерами дней недели , , .


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