Advertisement
Guest User

Untitled

a guest
Dec 5th, 2019
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.21 KB | None | 0 0
  1.  
  2. #include <stdlib.h>
  3. #include <stdio.h>
  4. #include <unistd.h>
  5. #include <time.h> /* std::time() */
  6.  
  7. main ()
  8.  
  9. {
  10.  int N_AGENTS=20; /* liczba uczestnikow */
  11.  int N_ITEMS=20;  /* liczba przedmiotów */
  12.  int OPENING_BID=100; /* poczatkowa cena kazdego przedmiotu*/
  13.  int NOMINAL_RAISE=1; /*wartosc podbicia*/
  14.  int BIDDING_ROUNDS=10000; /* liczba podbic wykonana przez kazdego uczestnika */
  15.  int i,j;
  16.  int a=0;
  17.  int * bt;
  18.  int users;
  19.  int offers;
  20.  int price;
  21.  srand(time(NULL)); /* tworzenie ziarna losowania(ziarnem jest czas) */
  22.  
  23.  long int  BiddingTable [20]; /* tablica losowych podbic */
  24.  long int  ItemsPrice [20]; /*tablica aktualnych cen */
  25.  
  26.  //BiddingTable = malloc(N_AGENTS * sizeof( int* ) );
  27.         for(i=0; i<N_AGENTS; i++){
  28.  
  29.         BiddingTable[i] = BIDDING_ROUNDS ; /* wypelnienie tablicy liczbami podbic  */
  30.         // printf ("Wyswietlaam liczbe podbic dla kazdego gracza:[%d]=%d\n", i, BiddingTable[i]);
  31.         }
  32.        
  33.  
  34.         for(i=0;i<N_ITEMS; i++){ /* tablica przechowuje aktualne ceny */
  35.        
  36.         ItemsPrice[i] = OPENING_BID ;
  37.         //printf ("Wyswietlaam liczbe podbic dla kazdego gracza:[%d]=%d\n", i, ItemsPrice[i]);
  38.         }
  39.    
  40.    
  41.    
  42.    
  43.     while(BiddingTable[users]>0)
  44.     {
  45.       /* wybieranie losowego uzytkownika */
  46.     users=rand()%N_AGENTS + 1;
  47.     printf ("gracz wybrany: %d \n", users);
  48.     /* losowanie którą oferte podbije uzytkownika */
  49.     offers= rand()%N_ITEMS + 1;
  50.     printf ("oferta wybrana: %d \n", offers);
  51.     /* losowanie wartości o którą uzytkownik podbije licytacje */
  52.     price= rand()%100 + 1 ;
  53.      printf ("cena podbicia: %d \n", price);
  54.     /* Funkcja sprawdzajaca czy uzytkownik ma jeszcze ilosc podbic*/  
  55.     BiddingTable[users]=BiddingTable[users]-1;
  56.     ItemsPrice[offers]=ItemsPrice[offers]+price;
  57.     printf ("Aktualna cena produktu podbitego licytacji: [%d]=%d \n",offers,ItemsPrice[offers]);
  58.     printf ("ilosc jego podbic [%d]=%d \n",users,BiddingTable[users]);
  59.     }
  60.     for(i=0; i<N_AGENTS; i++){
  61.            
  62.         if(BiddingTable[i]>a){
  63.         a=BiddingTable[i];
  64.      
  65.          
  66.        
  67.         /* Dodawanie wartosci licytacji do wartosci nominalnej */
  68.        
  69.      
  70.         }
  71.     }
  72.  
  73.  
  74. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement