су даних  
 # define // визначення параметрів моделі та технічних вихідних даних на глобальному рівні, описаної в п. 
  # define RCLIENTS x1 [discrete (p1)] 
  float x1 [] = {7,8,9,10,11,12,13,14,15}; 
  float p1 [] = {0.05, 0.05, 0.05, 0.2, 0.2, 0.2, 0.05, 0.05, 0.15}; 
  # define CENA x2 [discrete (p2)] 
  floatx 1 [] = {10,12,13,14,15,16,17,18,19}; 
  floatp 1 [] = {0.05, 0.05, 0.05, 0.05, 0.05, 0.2, 0.2, 0.2, 0.15}; 
  # defineC (125 * 125 * 125 * 125 * 5) // оголошення мультиплікативного конгруентного методу, яке описується в п.1.3. 
  # definen 2 // загальне число перукарів 
  # defineT (8 * 60 * 30) // період моделювання (в хв.) 
  2. Генерація мультиплікативним конгруентним методом псевдослучайной послідовності чисел: 
  floatrand (void)// генерація псевдослучайной послідовності з рівномірним розподілом 
  {
  static unsigned long int u = C; 
 // static - модифікатор для того, щоб локальна змінна u зберігала значення між двома наступними зверненнями до цієї функції 
  u = u * C;// З - константа 
  returnu/float (0xfffffffful);// (0xfffffffful) - максимально беззнакові ціле число, задане в шістнадцятковій формі. 
 } 
  3. Виклик функцій моделювання: 
 // функція моделювання показового розподілу, описана в п.1.7. 
  unsigned int discrete ( float p []) 
  {
  float s, r; 
  int k = 0; 
  s = p []; 
  r = rand (); 
  while (s 
 {
  k + +; 
  s + = s + p [k]; 
 } 
				
				
				
				
			  returnk; 
 } 
  4. Ініціалізація 
  unsigned long int i, j, cost, R, r, n, k; 
  float t, tin; 
  m = 0; k = 0; R = 0; 
  5. Запускпрограмми 
  tin = RIN; 
  for (i = 0; i 
 6. Обработказавершенія 
  for (j = 0; j 
 {
  m + +; 
  ton [j] = -1; 
 } 
  7. Обробка чергового вхідного події 
  if (i == tin) 
  {
  j = 0; while ((ton [j]! = -1) && (j 
 if (j! = N) 
  {
  i = RCLIENTS; 
  n + +; 
  for (; t 
 if (rand1 () <= P) 
  {
  cost = cost + a * CENA; 
  k + +; 
 } 
 } else r + +; 
  tin = RIN + i; 
 } 
 } 
  8. Виведені результати : 
  cout <<"........................ Rezultati modelirovaniya .............................. "; 
  cout <<"1.Posetili parikmakherskuy: "< 
 cout <<"2.Iz nikh obclujeno: "< 
 cout <<"3. Iz nikh ne obclujeno: "<...