fork(4) download
  1. /*
  2.   program: sorotwanie punktow
  3.   date:25.10.2016
  4.   author: kyubu
  5.   version 2.0
  6.   */
  7. #include <iostream>
  8. #include <math.h>
  9. using namespace std;
  10.  
  11. struct punkt
  12. {
  13. public:
  14. int odleglosc,x,y;
  15. string nazwa;
  16.  
  17. };
  18. int main()
  19. {
  20. int t; // liczba przypadkow
  21. cin >> t;
  22. for(int z=0;z<t;z++)
  23. {
  24. int n; //liczba punktow
  25. cin >> n;
  26. punkt * tablica = new punkt [n];
  27. for (int x=0;x<n;x++)
  28. {
  29. cin>>tablica[x].nazwa>>tablica[x].x>>tablica[x].y;
  30. if(tablica[x].x==0) tablica[x].odleglosc=tablica[x].y;
  31. else if(tablica[x].y==0) tablica[x].odleglosc=tablica[x].x;
  32. else tablica[x].odleglosc=sqrt(pow(tablica[x].x,2)*pow(tablica[x].y,2));
  33.  
  34. }
  35. //sortowanie bÄ…belkowe
  36. int sort=1;
  37. while(sort>0)
  38. {
  39. sort=0;
  40. for (int x=0;x<n;x++)
  41. {
  42. if(tablica[x].odleglosc>tablica[x+1].odleglosc && x+1<n)
  43. {
  44. punkt temp;
  45. temp=tablica[x];
  46. tablica[x]=tablica[x+1];
  47. tablica[x+1]=temp;
  48. sort++;
  49. }
  50. }
  51. }
  52. //prezentacja
  53. for (int x=0;x<n;x++)
  54. {
  55. cout<<tablica[x].nazwa<<' '<<tablica[x].x<<' '<<tablica[x].y<<endl;
  56. }
  57. cout<<endl;
  58. }
  59. return 0;
  60. }
  61.  
Success #stdin #stdout 0s 2876KB
stdin
2
2
B 10 1
A 4 3

4
B 0 -10
A 0 -9
C -11 0
D -12 0




stdout
B 10 1
A 4 3

D -12 0
C -11 0
B 0 -10
A 0 -9