Привет! Я немного проанализировал эту задачу и нашел для тебя решение на C#. Давай я покажу тебе, как решить ее.csharp
using System;
class Program
{
static void Main
{
// Вводим значения g, m и n
Console.Write(″Введите год (g)⁚ ″);
int g Convert.ToInt32(Console.ReadLine);
Console.Write(″Введите месяц (m)⁚ ″);
int m Convert;ToInt32(Console.ReadLine);
Console;Write(″Введите число (n)⁚ ″);
int n Convert.ToInt32(Console.ReadLine);
// Проверяем, является ли введенный год високосным
bool isLeapYear DateTime.IsLeapYear(g);
// Определяем количество дней в месяце
int daysInMonth;
if (m 2) // Февраль
{
if (isLeapYear)
daysInMonth 29;
else
daysInMonth 28;
}
else if (m 4 || m 6 || m 9 || m 11) // Апрель, Июнь, Сентябрь, Ноябрь
{
daysInMonth 30;
}
else // Все остальные месяцы
{
daysInMonth 31;
}
// Определяем дату предыдущего дня
int prevDay, prevMonth, prevYear;
if (n 1) // Если число равно 1, то нужно уменьшить номер месяца и день
{
if (m 1) // Если месяц равен 1, то нужно уменьшить номер года и месяц
{
prevDay daysInMonth;
prevMonth 12;
prevYear g ー 1;
}
else // В противном случае нужно уменьшить номер месяца
{
prevDay daysInMonth;
prevMonth m ‒ 1;
prevYear g;
}
}
else // В противном случае просто уменьшаем день на 1
{
prevDay n ‒ 1;
prevMonth m;
prevYear g;
}
// Определяем дату следующего дня
int nextDay, nextMonth, nextYear;
if (n daysInMonth) // Если число равно последнему дню месяца, то нужно увеличить номер месяца и день
{
if (m 12) // Если месяц равен 12, то нужно увеличить номер года и месяц
{
nextDay 1;
nextMonth 1;
nextYear g 1;
}
else // В противном случае нужно увеличить номер месяца
{
nextDay 1;
nextMonth m 1;
nextYear g;
}
}
else // В противном случае просто увеличиваем день на 1
{
nextDay n 1;
nextMonth m;
nextYear g;
}
Console.WriteLine(″Предыдущий день⁚ {0}.{1}.{2}″٫ prevDay٫ prevMonth٫ prevYear);
Console.WriteLine(″Следующий день⁚ {0}.{1}.{2}″, nextDay, nextMonth, nextYear);
}
}
Я сделал код, который позволяет ввести значения года, месяца и числа, а затем рассчитывает дату предыдущего и следующего дней. Чтобы определить количество дней в месяце, я использовал условные операторы и проверку на високосный год.
Надеюсь, это поможет тебе решить задачу! Если есть еще вопросы, не стесняйся задавать. Удачи в программировании!