Реализовать класс календаря, используя для хранения дат массив - C#

Узнай цену своей работы

Формулировка задачи:

Задача такая: реализовать класс календаря, используя для хранения дат массив. Разработать индексатор для класса.
Листинг программы
  1. class Kalendar
  2. {
  3. // поля
  4. int day; // номер дня месяца
  5. int month; // номер месяца
  6. int year; // номер года
  7. Kalendar[][] storage; // хранилище для дат года
  8. // свойства (свойства Day, Month, Year {get;set;} существуют)
  9. public Kalendar this [int i,int j] // индексатор
  10. {
  11. get
  12. {
  13. return this.storage[i][j]; //(вот сюда выводит индекс находился вне границ массива)
  14. }
  15. set
  16. {
  17. this.storage[i][j] = value;
  18. }
  19. }
  20. // конструктор
  21. public Kalendar(int Day, int Month, int Year)
  22. {
  23. day = Day;
  24. month = Month;
  25. year = Year;
  26. storage = new Kalendar[Month][];
  27. }
Дальше в Main не хочет заполнять массив. У меня уже мозги сломались.
Листинг программы
  1. class Program
  2. {
  3. static void Main(string[] args)
  4. {
  5. Console.WriteLine("\tЗаполняем новый календарь значениями.");
  6. Console.Write("\tВведите день : ");
  7. int dayN = Convert.ToInt32(Console.ReadLine());
  8. Console.Write("\tВведите месяц : ");
  9. int monthN = Convert.ToInt32(Console.ReadLine());
  10. Console.Write("\tВведите год : ");
  11. int yearN = Convert.ToInt32(Console.ReadLine());
  12. int daysInMonth = DateTime.DaysInMonth(yearN, monthN);
  13. int monthInYear=12;
  14. for (int i = 1; i <= monthInYear; i++)
  15. for (int j = 1; j <= daysInMonth;j++ )
  16. {
  17. Kalendar kalendar = new Kalendar(j, i, yearN);
  18. kalendar[monthN, dayN] = kalendar[i, j];
  19. }
  20. Console.ReadKey();
  21. }

Решение задачи: «Реализовать класс календаря, используя для хранения дат массив»

textual
Листинг программы
  1. static void Main(string[] args)
  2.         {
  3.             Dates dat = new Dates(1990, 2013);
  4.             Console.WriteLine(dat[1999][9][28]);
  5.             Console.WriteLine(dat[1999, 9][28]);
  6.             Console.WriteLine(dat[1999, 9, 28]);
  7.            
  8.             Console.Read();
  9.         }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 3.727 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы