fork download
  1. #include <iostream>
  2. #include <algorithm>
  3. #include <limits>
  4. using namespace std;
  5.  
  6. int mini(double x[],int n) //Функция, которая возвращает номер бегуна с наилучшим результатом.
  7. {
  8. double minn = numeric_limits<double>::infinity(); int mini;
  9. for (int i = 0; i < n ; i ++)//Цикл для нахождения минимального значения.
  10. {
  11. double t = x[i];
  12. if (t <= minn)
  13. {
  14. mini = i;
  15. minn = t;
  16. }
  17. }
  18. return mini; //Возвращение номера минимального значения
  19. }
  20.  
  21. void team(double x[], int n, int c)//Функция выводящая на экран номера наилучших спортсменов.
  22. {
  23. int counters[c]; //Массив номеров бегунов.
  24. for (int i = 0; i < c ; i ++)
  25. {
  26. counters[i] = mini( x , n );
  27. x[ counters[i] ] = numeric_limits<double>::infinity();
  28. }
  29. sort(counters, counters + c); //Сортировка номеров бегунов
  30. for (int i = 0; i < c ; i ++)
  31. {
  32. cout<<counters[i] + 1 <<" ";
  33. }
  34. }
  35.  
  36. int main()
  37. {
  38. int n, c, k = 0; //Описание переменных для хранения входных данных./
  39. cin>>n>>c;
  40. double x[n]; //Описание массива для хранения входных данных.//
  41. for (int i = 0; i < n ; i ++)
  42. {
  43. cin>>x[i];
  44. if (x[i] <= 0) //Проверка массива на отрицательный (либо нулевой) элемент.
  45. {
  46. cout<<"Введен отрицательный или нулевой результат";
  47. return 0;
  48. }
  49. }
  50. team(x, n ,c);
  51. return 0;
  52. }
Success #stdin #stdout 0s 3480KB
stdin
6 3 11.77 12.34 12.14 11.15 11.16 11.40
6 4 11.68 0 12.15 11.54 11.26 11.00
6 2 11.68 -12.34 12.14 11.55 11.29 11.00
stdout
4 5 6