class GroupWithMarks : Group
public GroupWithMarks(string n, int[] m)
for (int i = 0; i < marks.Length; i++)
static double AVGCounting(GroupWithMarks[] grt)
for (int i = 0; i < grt.Length; i++)
static void SortGroup(GroupWithMarks[] grt)
for (int i = 0; i < grt.Length - 1; i++)
double max = grt[i].average;
for (int j = i + 1; j < grt.Length; j++)
if (grt[j].average > max)
GroupWithMarks temp = grt[i];
static void Change_group_order(ref GroupWithMarks[] max, ref GroupWithMarks[] mid, ref GroupWithMarks[] min)
double max_avg = AVGCounting(max);
double mid_avg = AVGCounting(mid);
double min_avg = AVGCounting(min);
GroupWithMarks[] temp = max;
double temp_avg = max_avg;
GroupWithMarks[] temp = max;
double temp_avg = max_avg;
GroupWithMarks[] temp = mid;
double temp_avg = mid_avg;
public static void Main()
GroupWithMarks[] gr1 = new GroupWithMarks[2];
gr1[0] = new GroupWithMarks("Пыня", new int[] { 3, 3, 3, 4, 4 });
gr1[1] = new GroupWithMarks("Леха", new int[] { 4, 5, 3, 4, 3 });
GroupWithMarks[] gr2 = new GroupWithMarks[3];
gr2[0] = new GroupWithMarks("Альфа", new int[] { 4, 5, 3, 4, 2 });
gr2[1] = new GroupWithMarks("Бетка", new int[] { 4, 4, 4, 4, 5 });
gr2[2] = new GroupWithMarks("Омежка", new int[] { 3, 3, 3, 4, 4 });
GroupWithMarks[] gr3 = new GroupWithMarks[2];
gr3[0] = new GroupWithMarks("Ерохин", new int[] { 2, 3, 4, 4, 3 });
gr3[1] = new GroupWithMarks("Сычев", new int[] { 3, 4, 4, 3, 5 });
Change_group_order(ref gr1, ref gr2, ref gr3);
Console.WriteLine("Группа номер 1:");
Console.WriteLine("Фамилия: \t Средний балл: ");
for (int i = 0; i < gr1.Length; i++)
Console.WriteLine("{0}\t\t {1:f2}", gr1[i].name, gr1[i].average);
Console.WriteLine("Общий средний балл: {0:f2}", AVGCounting(gr1));
Console.WriteLine("Группа номер 2:");
Console.WriteLine("Фамилия: \t Средний балл: ");
for (int i = 0; i < gr2.Length; i++)
Console.WriteLine("{0}\t\t {1:f2}", gr2[i].name, gr2[i].average);
Console.WriteLine("Общий средний балл: {0:f2}", AVGCounting(gr2));
Console.WriteLine("Группа номер 3:");
Console.WriteLine("Фамилия: \t Средний балл: ");
for (int i = 0; i < gr3.Length; i++)
Console.WriteLine("{0}\t\t {1:f2}", gr3[i].name, gr3[i].average);
Console.WriteLine("Общий средний балл: {0:f2}", AVGCounting(gr3));