fork download
  1. #include <iostream>
  2. #include<cmath>
  3. using namespace std;
  4.  
  5. void sortowanie(string *litery, long long *liczby, int *a, int *b, int ile)
  6. {
  7. long long zmienna,licznik;
  8. string pomocna;
  9.  
  10. while(licznik)
  11. {licznik=0;
  12. for(int n=ile;n>1;n--)
  13. {
  14. if(liczby[n-1]>liczby[n-2])
  15. {
  16. zmienna=liczby[n-1];
  17. liczby[n-1]=liczby[n-2];
  18. liczby[n-2]=zmienna;
  19.  
  20. pomocna=litery[n-1];
  21. litery[n-1]=litery[n-2];
  22. litery[n-2]=pomocna;
  23.  
  24. zmienna=b[n-1];
  25. b[n-1]=b[n-2];
  26. b[n-2]=zmienna;
  27.  
  28. zmienna=a[n-1];
  29. a[n-1]=a[n-2];
  30. a[n-2]=zmienna;
  31.  
  32. licznik++;
  33. }
  34. continue;
  35. }
  36.  
  37. }
  38.  
  39. for(int i=ile-1;i>=0;i--)
  40. {
  41. cout<<litery[i]<<" "<<a[i]<<" "<<b[i]<<endl;
  42. }
  43. }
  44.  
  45.  
  46. int main()
  47. {
  48. int testy;
  49. cin>>testy;
  50.  
  51. for(int i=0;i<testy;i++)
  52. {int ile; int *a,*b;
  53. string *litery;
  54. long long *liczby;
  55. cin>>ile;
  56. litery=new string [ile];
  57. liczby=new long long [ile];
  58. a=new int [ile];
  59. b=new int [ile];
  60. for(int j=0;j<ile;j++)
  61. {
  62. cin>>litery[j]>>a[j]>>b[j];
  63. liczby[j]=pow(a[j],2)+pow(b[j],2);
  64. }cout<<endl;
  65. sortowanie(litery, liczby, a, b,ile);
  66.  
  67. delete [] a;
  68. delete [] litery;
  69. delete [] liczby;
  70. delete [] b;
  71.  
  72. }
  73.  
  74. return 0;
  75. }
  76.  
Success #stdin #stdout 0s 15240KB
stdin
2
3
A 0 0
C 5 5
B 1 -1

1 
X 1 1
stdout
B 1 -1
C 5 5
A 0 0

X 1 1