macrofish

hash

May 7th, 2014
173
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.88 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3. #include <cstring>
  4. #include <vector>
  5. #include "Server.h"
  6. #include "Player.h"
  7.  
  8. using namespace std;
  9.  
  10.  
  11. int main()
  12. {
  13.    
  14.  
  15.     Server *srv[2]; //pole serveru "relace A"  sloupce: ID, jmeno
  16.     Player *pl[4]; //pole playeru "relace B"    sloupce: ID, jmeno, IDserveru
  17.  
  18.     //joinuje se na IDserver
  19.     int arrayOfArrays[2][4]; //vysledne pole, ktere ma stejne radku, jako je pocet radku mensi relace, do ktereho se ukladaji usporadane dvojice
  20.     //[i][0] jsou vsechny "klice" ke kterym se budou "hashovat" hodnoty z druhe tabulky
  21.     /*
  22.  
  23.     +---+---+---+---+
  24.     | K1| V1|V2 | V3|    //key1 - value1 - value2 - value3
  25.     +---+---+---+---+
  26.  
  27.  
  28.     */
  29.     for(int i =0;i<2;i++)
  30.     {
  31.         for(int j =0;j<4;j++)
  32.         {
  33.             arrayOfArrays[i][j]=-1;  //pomocne se vsechny hodnoty nastavi na -1
  34.         }
  35.     }
  36.    
  37.     srv[0]= new Server(1,"serverOne");
  38.     srv[1]= new Server(2,"serverTwo");
  39.  
  40.     pl[0] = new Player(1,"macrofish",1);
  41.     pl[1] = new Player(2,"Adelka",1);
  42.     pl[2] = new Player(3,"mocek",1);
  43.     pl[3] = new Player(4,"lalala",2);
  44.  
  45.     //vytvoreni vsech klicu ke kterym se bude hashovat
  46.     for(int i =0;i<2;i++)
  47.     {
  48.         arrayOfArrays[0][0]=srv[0]->getId();
  49.         arrayOfArrays[1][0]=srv[1]->getId();
  50.     }
  51.  
  52.     //prochazeni vetsi relace a prirazovani hodnot ke klicum
  53.     for(int i =0; i <4;i++)
  54.     {
  55.         for(int j = 0;j<2;j++)
  56.         {
  57.             if (pl[i]->getServerID()==arrayOfArrays[j][0])
  58.             {
  59.                 int x = 0;
  60.                 while(arrayOfArrays[j][x]!=-1)
  61.                 {
  62.                     x++;
  63.                 }
  64.                 arrayOfArrays[j][x]=i;
  65.                 break;
  66.             }
  67.         }
  68.     }
  69.  
  70.     /*
  71.     joinovalo se na idserveru
  72.     vystup:
  73.     1:0,1,2  k serveru 1 s id jsme priradili radek 0,1,2 z relace player
  74.     2:3      k srv2 s id radek 3 z relace player
  75.     */
  76.  
  77.     for(int i =0;i<2;i++)
  78.     {
  79.         cout<< arrayOfArrays[i][0] << ": ";
  80.         for(int j =1;j<4;j++)
  81.         {
  82.             if (arrayOfArrays[i][j]==-1)
  83.             {
  84.                 break;
  85.             }
  86.             cout << arrayOfArrays[i][j] << ",";
  87.         }
  88.         cout << endl;
  89.     }
  90.    
  91.     return 0;
  92. }
Advertisement
Add Comment
Please, Sign In to add comment