Advertisement
Mumei

Sort_1

Jun 15th, 2018
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.48 KB | None | 0 0
  1. #include <iostream>
  2. #include <math.h>
  3.  
  4. using namespace std;
  5.  
  6. void quicksort(int *tablica1, int *tablica2, int *tablica3, string *tablica4, int lewy, int prawy){
  7.     int v=tablica1[(lewy+prawy)/2];
  8.     int i,j,x,a,b;
  9.     string c;
  10.     i=lewy;
  11.     j=prawy;
  12.     do{
  13.         while (tablica1[i]<v) i++;
  14.         while (tablica1[j]>v) j--;
  15.         if (i<=j){
  16.             x=tablica1[i];
  17.             a=tablica2[i];
  18.             b=tablica3[i];
  19.             c=tablica4[i];
  20.             tablica1[i]=tablica1[j];
  21.             tablica2[i]=tablica2[j];
  22.             tablica3[i]=tablica3[j];
  23.             tablica4[i]=tablica4[j];
  24.             tablica1[j]=x;
  25.             tablica2[j]=a;
  26.             tablica3[j]=b;
  27.             tablica4[j]=c;
  28.             i++; j--;
  29.             }
  30.         }while (i<=j);
  31.     if (j>lewy) quicksort(tablica1,tablica2,tablica3,tablica4,lewy, j);
  32.     if (i<prawy) quicksort(tablica1,tablica2,tablica3,tablica4, i, prawy);
  33. }
  34. int main(){
  35.     int t,n,sumadwochbokowkwadrat;
  36.     cin>>t;
  37.     for(int i=0;i<t;i++){
  38.         cin>>n;
  39.         int pitagoras[n],x[n],y[n];
  40.         string nazwa[n];
  41.         for(int j=0;j<n;j++){
  42.             cin>>nazwa[j]>>x[j]>>y[j];
  43.             sumadwochbokowkwadrat=pow(x[j],2)+pow(y[j],2);
  44.             pitagoras[j]=pow(sumadwochbokowkwadrat,0.5);
  45.             }
  46.         cout<<endl;
  47.     quicksort(pitagoras,x,y,nazwa,0,n-1);
  48.     for (int j=0;j<n;j++)
  49.         cout<<nazwa[j]<<" "<<x[j]<<" "<<y[j]<<endl;
  50.     cout<<endl;
  51.     }
  52.     return 0;
  53. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement