Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace olymp2
- {
- // Даны три числа D, M, G - день, месяц, год
- // ( 0 < D < 32, 0 < M < 13, G>=1 ) 1 янв 1 года - понедельник.
- // Вводится дата. Вывести на экран день недели
- class Date
- {
- public int Day
- { get; set;}
- public int MonthNumber
- { get; set; }
- public int Year
- { get; set; }
- public Date(int day, int month, int year)
- {
- if (day < 32 && day > 0)
- {
- Day = day;
- }
- else
- {
- Console.WriteLine("Неверный день");
- return;
- }
- if (month < 13 && month > 0)
- {
- MonthNumber = month;
- }
- else
- {
- Console.WriteLine("Неверный месяц");
- return;
- }
- if (year < 1)
- {
- Console.WriteLine("Неверный год");
- return;
- }
- else
- {
- Year = year;
- }
- }
- }
- class Program
- {
- static void Main(string[] args)
- {
- bool simple = true;
- string[] WeekArray = { "понедельник", "вторник", "среда", "четверг", "пятница", "суббота", "воскресенье" };
- int[] MonthArray = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 };
- int[] MonthDaySimp = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
- int[] MonthDayVis = { 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
- string Name;
- string day = null;
- string month = null;
- string year = null;
- Console.WriteLine("Введите дату в формате DD.MM.YYYY:");
- string strDate = Console.ReadLine();
- int index;
- int u;
- for (u = 0; strDate[u] != '.'; u++)
- {
- day = day + strDate[u];
- }
- index = u + 1;
- for (u = index; strDate[u] != '.'; u++)
- {
- month = month + strDate[u];
- }
- index = u + 1;
- for (u = index; u < strDate.Length; u++)
- {
- year = year + strDate[u];
- }
- Date data = new Date(
- Convert.ToInt32(day),
- Convert.ToInt32(month),
- Convert.ToInt32(year)
- );
- if (data.Year % 400 == 0 || ( data.Year % 4 == 0 && data.Year % 100 != 0))
- {
- simple = false;
- }
- int k = 0;
- for (int i = 1; i < data.Year; i++)
- {
- if (i % 400 == 0 || (i % 4 == 0 && i % 100 != 0))
- {
- k++;
- }
- }
- int AmountDays = (data.Year - k - 1) * 365 + k * 366;
- if(simple)
- {
- for (int i = 0; i < data.MonthNumber - 1; i++)
- AmountDays += MonthDaySimp[i];
- AmountDays += data.Day;
- }
- else
- {
- for (int i = 0; i < data.MonthNumber - 1; i++)
- AmountDays += MonthDayVis[i];
- AmountDays += data.Day;
- }
- int temp;
- int AmountDaysTemp = AmountDays;
- for (temp = 0; temp < AmountDaysTemp; temp++)
- {
- if (temp == 7)
- {
- AmountDaysTemp = AmountDaysTemp - 7;
- temp = 0;
- }
- }
- Name = WeekArray[temp - 1];
- // Console.WriteLine("високосные: {0} шт", k);
- // Console.WriteLine("количество дней: {0} шт", AmountDays);
- Console.WriteLine("День недели: {0}", Name);
- Console.ReadKey(true);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement