Advertisement
loleckek228

3.1

Sep 10th, 2019
169
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 6.59 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace CSLight3
  8. {
  9.     class Program
  10.     {
  11.         static void Main(string[] args)
  12.         {
  13.             int[] numbersOfTable = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
  14.             int[] countPlaceOnTable = { 1, 5, 2, 3, 6, 7, 8, 1, 5, 2 };
  15.             int[] reservedTableArray = new int[0];
  16.             int countOfReservedTable = 0;
  17.             int countOfGuest;
  18.             int reservedTable;
  19.             int indexOfReservedTable = -1;
  20.             bool checkReservedTable = false;
  21.  
  22.             while (true)
  23.             {
  24.                 Console.WriteLine("Система бронирования столов");
  25.                 int maxCountGuest = int.MinValue;
  26.                 for (int i = 0; i < countPlaceOnTable.Length; i++)
  27.                 {
  28.                     if (maxCountGuest <= countPlaceOnTable[i])
  29.                     {
  30.                         maxCountGuest = countPlaceOnTable[i];
  31.                     }
  32.                 }
  33.                 Console.WriteLine("Сколько гостей будет?");
  34.                 countOfGuest = Convert.ToInt32(Console.ReadLine());
  35.  
  36.                 if (numbersOfTable.Length == 0)
  37.                 {
  38.                     Console.WriteLine("Больше свободных столов нет");
  39.                 }
  40.                 else if (countOfGuest > maxCountGuest)
  41.                 {
  42.                     Console.WriteLine("Такое количество гостей " +
  43.                         "не сможет поместиться за один стол");
  44.                 }
  45.                 else
  46.                 {
  47.                     for (int i = 0; i < countPlaceOnTable.Length; i++)
  48.                     {
  49.                         if (countPlaceOnTable[i] >= countOfGuest)
  50.                         {
  51.                             Console.WriteLine("Стол № " + numbersOfTable[i]
  52.                                 + " имеет " + countPlaceOnTable[i]
  53.                                 + " свободных мест");
  54.                         }
  55.                     }
  56.                     Console.WriteLine();
  57.  
  58.                     if (countOfReservedTable != 0)
  59.                     {
  60.                         for (int i = 0; i < reservedTableArray.Length; i++)
  61.                         {
  62.                             Console.WriteLine("Стол № " + reservedTableArray[i] +
  63.                                 " зарезервирован");
  64.                         }
  65.                     }
  66.                     else
  67.                     {
  68.                         Console.WriteLine("\nНи один стол не забронирован");
  69.                     }
  70.  
  71.                     Console.WriteLine("\nКакой стол вы хотите забронировать?");
  72.                     reservedTable = Convert.ToInt32(Console.ReadLine());
  73.  
  74.                     if (reservedTable < 0)
  75.                     {
  76.                         Console.WriteLine("Ошибка ввода");
  77.                        
  78.                     }
  79.                     else
  80.                     {
  81.                         int[] newReservedTable = new int[reservedTableArray.Length + 1];
  82.                         for (int i = 0; i < reservedTableArray.Length; i++)
  83.                         {
  84.                            
  85.                             newReservedTable[i] = reservedTableArray[i];
  86.                         }
  87.  
  88.                         for (int i = 0; i < reservedTableArray.Length; i++)
  89.                         {
  90.                             if (reservedTable == reservedTableArray[i])
  91.                             {
  92.                                 checkReservedTable = true;
  93.                                 break;
  94.                             }                            
  95.                         }
  96.                         if (!checkReservedTable)
  97.                         {
  98.                             newReservedTable[countOfReservedTable] = reservedTable;
  99.                             reservedTableArray = newReservedTable;
  100.                             countOfReservedTable++;
  101.  
  102.                             for (int i = 0; i < numbersOfTable.Length; i++)
  103.                             {
  104.                                 if (numbersOfTable[i] == reservedTable)
  105.                                 {
  106.                                     indexOfReservedTable = i;
  107.                                 }
  108.                             }
  109.  
  110.                             if (indexOfReservedTable != -1)
  111.                             {
  112.                                 int[] newNumberOfTable = new int[numbersOfTable.Length - 1];
  113.                                 int counterOfNumbersArray = 0;
  114.                                 for (int i = 0; i < numbersOfTable.Length; i++)
  115.                                 {
  116.                                     if (i == indexOfReservedTable) continue;
  117.                                     newNumberOfTable[counterOfNumbersArray] = numbersOfTable[i];
  118.                                     counterOfNumbersArray++;
  119.                                 }
  120.                                 numbersOfTable = newNumberOfTable;
  121.  
  122.                                 int[] newCountPlaceOnTable = new int[countPlaceOnTable.Length - 1];
  123.                                 int counterOfPlaceArray = 0;
  124.                                 for (int i = 0; i < countPlaceOnTable.Length; i++)
  125.                                 {
  126.                                     if (i == indexOfReservedTable) continue;
  127.                                     newCountPlaceOnTable[counterOfPlaceArray] = countPlaceOnTable[i];
  128.                                     counterOfPlaceArray++;
  129.                                 }
  130.                                 countPlaceOnTable = newCountPlaceOnTable;
  131.  
  132.                                 Console.WriteLine("Стол успешно забронирован");
  133.                             }
  134.                             else
  135.                             {
  136.                                 Console.WriteLine("Ошибка ввода");
  137.                             }
  138.                         }
  139.                         else
  140.                         {
  141.                             Console.WriteLine("Этот стол уже забронирован");
  142.                             checkReservedTable = false;
  143.                         }                        
  144.                     }
  145.                 }
  146.                 Console.WriteLine("\nНажмите любую клавишу...");
  147.                 Console.ReadKey();
  148.                 Console.Clear();
  149.             }
  150.         }
  151.     }
  152. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement