Как вывести только 3 команды которые набрали больше очков? - C#

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

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

Мне нужно что бы было так как есть ,только на экран выводило 3 команды которые набрали больше очков,что нужно изменить?
Листинг программы
  1. int[,] team = new int[16, 16]{{0, 0, 3, 3, 0, 1, 1, 0, 0, 0, 3, 1, 1, 3, 0, 3},
  2. {3, 0, 0, 0, 0, 1, 1, 0, 1, 0, 3, 0, 0, 1, 1, 1},
  3. {0, 3, 0, 1, 1, 3, 0, 1, 1, 1, 1, 3, 3, 1, 0, 0},
  4. {1, 1, 1, 0, 1, 1, 1, 1, 3, 3, 3, 0, 0, 0, 0, 1},
  5. {1, 3, 1, 3, 0, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1},
  6. {3, 0, 3, 0, 3, 0, 3, 0, 3, 0, 3, 0, 3, 0, 3, 0},
  7. {1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1},
  8. {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
  9. {1, 1, 1, 1, 1, 1, 1, 1, 0, 3, 3, 3, 3, 3, 3, 3},
  10. {1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0},
  11. {0, 0, 3, 3, 3, 1, 1, 1, 3, 3, 0, 3, 3, 1, 1, 3},
  12. {3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 3, 3, 3, 3},
  13. {1, 1, 3, 3, 3, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1},
  14. {0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 3, 3, 3, 0, 0, 0},
  15. {3, 3, 1, 1, 3, 3, 3, 3, 1, 1, 3, 3, 3, 3, 0, 3},
  16. {0, 1, 3, 0, 1, 3, 0, 1, 3, 0, 1, 3, 0, 1, 3, 0}};
  17. int[] sum = new int[16];
  18. int[] nums = new int[16];
  19. for (int i = 0; i < 16; i++)
  20. {
  21. int tmp = 0;
  22. for (int j = 0; j < 16; j++)
  23. {
  24. tmp += team[i, j];
  25. }
  26. sum[i] = tmp;
  27. nums[i] = i;
  28. }
  29. for (int i = 0; i < 16; i++)
  30. {
  31. for (int j = 15; j > i; j--)
  32. {
  33. if (sum[j] > sum[j - 1])
  34. {
  35. int tmp = sum[j];
  36. sum[j] = sum[j - 1];
  37. sum[j - 1] = tmp;
  38. tmp = nums[j];
  39. nums[j] = nums[j - 1];
  40. nums[j - 1] = tmp;
  41. }
  42. }
  43. }
  44. for (int i = 0; i < 16; i++)
  45. {
  46. Console.WriteLine("Команда: {0}\t Мiсце: {1}\t Сума набраних очкiв:{2}", nums[i] + 1, i + 1, sum[i]);
  47. }
  48. Console.ReadKey();

Решение задачи: «Как вывести только 3 команды которые набрали больше очков?»

textual
Листинг программы
  1. for (int i = 0; i < sum.Length - 1; i++)
  2.     for (int j = i + 1; j < sum.Length; j++)
  3.     {
  4.         if (sum[i] < sum[j])
  5.         {
  6.             int temp = sum[i];
  7.             sum[i] = sum[j];
  8.             sum[j] = temp;
  9.  
  10.             temp = nums[i];
  11.             nums[i] = nums[j];
  12.             nums[j] = temp;
  13.         }
  14.     }
  15.  
  16. for (int i = 0; i < 3; i++)
  17. {
  18.     Console.WriteLine("Команда: {0}\t Мiсце: {1}\t Сума набраних очкiв:{2}", nums[i] + 1, i + 1, sum[i]);
  19. }

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


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

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

14   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы