Нужна сортировка по дате рождения, а как ее сделать не знаю - C#

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

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

Вот все что смог написать. Помогите сделать сортировку по дате рождения.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace Kyrsovaiya
{
    public class person //базовый класс содержащий фамилию и инициалы
    {
        public string SecondName;//переменная содержащая фамилию
        public string Inic;//переменная содержащая инициалы
    }
    public class sing : person//класс на основе базового содержащий знак зодиака, символ года, доту рождения
    {
        public String ZnakZodiaka;//переменная содержащая знак зодиака
        public String SimvolGoda;//переменная содержащая символ года
        public String DataRozhdeniya;//переменная содержащая дату рождения
        public sing(String SecondName, String Inic, String ZnakZodiaka, String SimvolGoda, String DataRozhdeniya)//конструктор с параметрами
        {
            this.SecondName = SecondName;
            this.Inic = Inic;
            this.ZnakZodiaka = ZnakZodiaka;
            this.SimvolGoda = SimvolGoda;
            this.DataRozhdeniya = DataRozhdeniya;
        }
    }
    class Programm
    {
        static void Main(string[] args)
        {
            Random rand = new Random();//случайное заполнение
            sing[] s = new sing[15];//создаем массив из 10 элементов типа sing
            String[] sn = {"Осипов","Дроздов","Сидоров","Хомяков","Иванова","Петров","Дремин","Калинина","Кравченко","Бутузов","Ефрюшин","Фомина","Авдеев","Титов","Хряков" };//массив фамилий
            String[] s1 = { "М.И", "М.Ю", "Е.Ф", "В.И", "М.О", "В.В", "Д.А", "И.В", "Р.В", "С.Б","В.Н" };//массив инициалов
            String[] zz = { "Овен","Телец","Близнецы","Рак","Лев","Дева","Весы","Скорпион","Стрелец","Козерог","Водолей","Рыба"};//массив знаков зодиака
            String[] sg = { "Крыса","Бык","Тигр","Кролик","Дракон","Змея","Лошадь","Овца","Обезьяна","Петух","Собака","Свинья"};//массив символов года
            String[] dr = { "10.12.1975", "9.10.1994", "9.09.2000", "29.04.1992", "30.12.1986", "1.01.2001", "2.09.1987" };//массив даты рождения
            Console.WriteLine("Вывод упорядоченный по дате рождения");//вывод фразы на экран
            Console.WriteLine();
            for (int i = 0; i < s.Length; i++)//цикл
            {
                int v = rand.Next(0, 12);
                int e = rand.Next(0, 11);
                int c = rand.Next(0,12);
                int b = rand.Next(0,7);
                s[i] = new sing(sn[i], s1[e], zz[c], sg[v], dr[b]);
            }
            for (int i = 0; i < s.Length; i++) 
            {
               for (int l = 0; l < dr.Length; l++) { Console.Write(dr[l] + " "); }
                    Console.WriteLine(s[i].SecondName + " " + s[i].Inic + "\nДата рождения: " + s[i].DataRozhdeniya + "\nЗнак зодиака: " + s[i].ZnakZodiaka + "\nСимвол года:" + s[i].SimvolGoda);//вывод на экран результата
                Console.WriteLine();
            }
            Console.WriteLine();
            Console.WriteLine("Введите знак зодиака");//вывод фразы на экран
            Console.WriteLine("для поиска:");//вывод фразы на экран
            Console.WriteLine();
            string znak = Console.ReadLine();//переменная с названием дисциплины которую необходимо найти
            Console.WriteLine();
            bool konec = true;//создаем переменную логического типа и присваиваем значение "true"
            for (int i = 0; i < s.Length; i++)//цикл
            {
                    if (znak == s[i].ZnakZodiaka)//проверяем условие и выводим фамилию, символ года, дату рождения на экран
                    {
                        Console.WriteLine();
                        Console.WriteLine(s[i].SecondName + " " + s[i].Inic + "\nСимвол года: " + s[i].SimvolGoda + "\nДата рождения: " + s[i].DataRozhdeniya);//вывод на экран  
                        konec = false;
                    }
            }
            if (konec)
                Console.WriteLine("\nТакого знака нет!");
            konec = false;//если человека с таким знаком зодиака нет то выводим сообщение.
            Console.ReadLine();
        }
    }
}

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

textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Collections;
 
namespace Kyrsovaiya
{
    public class person //базовый класс содержащий фамилию и инициалы
    {
        public string SecondName;//переменная содержащая фамилию
        public string Inic;//переменная содержащая инициалы
    }
    public class sing : person,IComparable//класс на основе базового содержащий знак зодиака, символ года, доту рождения
    {
        public String ZnakZodiaka;//переменная содержащая знак зодиака
        public String SimvolGoda;//переменная содержащая символ года
        public String DataRozhdeniya;//переменная содержащая дату рождения
        public sing(String SecondName, String Inic, String ZnakZodiaka, String SimvolGoda, String DataRozhdeniya)//конструктор с параметрами
        {
            this.SecondName = SecondName;
            this.Inic = Inic;
            this.ZnakZodiaka = ZnakZodiaka;
            this.SimvolGoda = SimvolGoda;
            this.DataRozhdeniya = DataRozhdeniya;
        }
 
        //реализуем интерфейс
        public int CompareTo(object o)
        {
            sing temp = (sing)o;
            return this.DataRozhdeniya.CompareTo(temp.DataRozhdeniya);
        }
    }
    class Programm
    {
        static void Main(string[] args)
        {
            List<sing> persons = new List<sing>();
 
            persons.Add(new sing("q", "q", "q", "q", "123"));
            persons.Add(new sing("q", "q", "q", "q", "023"));
            persons.Add(new sing("q", "q", "q", "q", "003"));
            persons.Sort();
        }
    }
}

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


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

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

6   голосов , оценка 3.667 из 5
Похожие ответы