예제 #1
0
            public int Compare(Object x, Object y)
            {
                elev e1 = (elev)x;
                elev e2 = (elev)y;

                return(String.Compare(e1.nume, e2.nume));
            }
예제 #2
0
        static void Main(string[] args)
        {
            int n;

            Console.Write("Introdu numarul de elevi: ");
            n = int.Parse(Console.ReadLine());

            elev[] clasa      = new elev[n];
            float  medieClasa = 0;

            string s;

            string[] el;
            for (int i = 0; i < n; i++)
            {
                Console.Write($"Introdu numele si media elevului {i + 1} separate printr-un spatiu: ");
                s              = Console.ReadLine();
                el             = s.Split();
                clasa[i].nume  = el[0];
                clasa[i].medie = float.Parse(el[1]);
                medieClasa    += clasa[i].medie;
            }
            Console.WriteLine();
            medieClasa /= n;
            Console.WriteLine("Media clasei este: {0:N2}\n", medieClasa);
            Console.WriteLine("Elevii ordonati dupa medie sunt:\n");

            Array.Sort(clasa, new ComparatorMedii());

            foreach (elev i in clasa)
            {
                Console.WriteLine(string.Format("{0, -10}{1, -5}", i.nume, i.medie));
            }
            Console.WriteLine();
            Console.WriteLine("Elevii ordonati dupa nume sunt:\n");
            Array.Sort(clasa, new ComparatorNume());

            foreach (elev i in clasa)
            {
                Console.WriteLine(string.Format("{0, -10}{1, -5}", i.nume, i.medie));
            }
        }
예제 #3
0
            // stabilește cum se compară 2 elevi după medie
            public int Compare(Object x, Object y)
            {
                elev e1 = (elev)x;
                elev e2 = (elev)y;

                if (e1.medie < e2.medie)
                {
                    return(-1);
                }
                if (e1.medie == e2.medie)
                {
                    return(0);
                }
                if (e1.medie > e2.medie)
                {
                    return(1);
                }

                return(0);
            }