liftvezerlo_202505_ksz_dk_idny_C++.cpp

 1  #include <iostream>
 2  #include <ctime>
 3  
 4  using namespace std;
 5  
 6  int main()
 7  {
 8      setlocale(LC_ALL, "");
 9      srand(time(NULL));
10  
11      // 1. A lift kezdőhelyzetének véletlenszerű meghatározása
12      int aktualis = rand() % 11;
13      int cel      = rand() % 11;
14      char irany;
15  
16      if(aktualis < cel)
17          irany = 'F';
18      else if(aktualis > cel)
19          irany = 'L';
20      else
21          irany = '-';
22  
23      cout << "A lift helyzete: " << aktualis << " " << irany << " (" << cel << ")" << endl;
24  
25      // 2. A hívó emeletének megadása
26      int hivo;
27      cout << "Adja meg a szintet, ahonnan hivja a liftet! Szint: ";
28      cin >> hivo;
29  
30      // 3. A lift által megtett emeletek száma
31      int megtett;
32      if(min(aktualis, cel) <= hivo && hivo <= max(aktualis, cel))
33          // köztes emeletről hívjuk --> min és max segítségével megadjuk a "határokat"
34          megtett = abs(aktualis - hivo);
35      else
36          // ha nem köztes terület, akkor iránytól függetlenül el kell menni a célig
37          // és onnan a hívóig
38          megtett = abs(aktualis - cel) + abs(cel - hivo);
39  
40      cout << "A liftnek " << megtett << " emeletet kell haladnia a hivoig." << endl;
41  }