Ранжирование ряда чисел - C#
Формулировка задачи:
Необходимо ранжировать ряд чисел (массив):
Меньшему значению начисляется ранг 1.
Наибольшему значению начисляется ранг равный количеству чисел в массиве.
Если несколько значений массива равны,им начисляется ранг равный среднему значению тех рангов, которые они получили бы, если бы не были равны.
Решение задачи: «Ранжирование ряда чисел»
textual
Листинг программы
int[] mas = { 20, 30, 0, 12, 19, 12, 3, 9, 8 }; int[] mas1 = new int[9]; Array.Copy(mas, mas1, mas.Length); Array.Sort(mas1); int[] rang = new int[9]; int indexrang = 1; int count = 1; int indexmas = 0; int sumrang = 0; for (int x = 0; x < 9; x++) { Console.Write(mas[x] + " "); index[x] = x + 1; if (x < 9 - 2) { if (mas[x] == mas1[x + 1]) { indexmas = x; count++; sumrang += indexrang; } } rang[x] = indexrang; indexrang++; } for (int x = 0; x < 9; x++) { if (indexmas == mas1[x]) { rang[x] = sumrang / count; } for (int y = 0; y < 9; y++) { if (mas[y] == mas1[x]) { mas[y] = rang[x]; } } } Console.SetCursorPosition(0, 3); for (int x = 0; x < 9; x++) { Console.Write(mas[x] + " "); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д