Ранжирование ряда чисел - 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] + " ");
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д