prometheus800

ООП: Железничка станица

Apr 6th, 2022
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.67 KB | None | 0 0
  1. // Железничка станица Problem 2 (2 / 10)
  2. #include<iostream>
  3. #include <cstring>
  4. using namespace std;
  5.  
  6.  
  7. typedef struct Voz{
  8.     char relacijaVoz[50];
  9.     float brojKilometri;
  10.     int brojPatnici;
  11. }Voz;
  12.  
  13. typedef struct ZeleznickaStanica{
  14.     char zeleznickaGrad[20];
  15.     Voz vozovi[30];
  16.     int brojVozovi;
  17. }ZeleznickaStanica;
  18.  
  19. void najkratkaRelacija(ZeleznickaStanica* zs, int n, char* grad){
  20.     float minKilometri=99999;
  21.     int i=0,j=0,idStanica=0,idVoz=0;
  22.     for(i = 0; i < n; i++){
  23.         if(strcmp(zs[i].zeleznickaGrad,grad) == 0){
  24.                 for(j = 0; j < zs[i].brojVozovi; j++){
  25.                     if(zs[i].vozovi[j].brojKilometri <= minKilometri){
  26.                         minKilometri = zs[i].vozovi[j].brojKilometri;
  27.                         idVoz = j;
  28.                     }
  29.                 }
  30.             idStanica = i;
  31.         }
  32.     }
  33.     cout << "Najkratka relacija: " << zs[idStanica].vozovi[idVoz].relacijaVoz << " (" << minKilometri << " km)" << endl;
  34. }
  35.  
  36.  
  37. int main(){
  38.  
  39.     int n;
  40.     cin>>n; //se cita brojot na zelezlnichki stanici
  41.  
  42.     ZeleznickaStanica zStanica[100];
  43.     for (int i=0;i<n;i++){
  44.         //se citaat infomracii za n zelezlnichkite stanici i se zacuvuvaat vo poleto zStanica
  45.         cin >> zStanica[i].zeleznickaGrad;
  46.         cin >> zStanica[i].brojVozovi;
  47.             for (int j = 0; j < zStanica[i].brojVozovi; j++){
  48.                 cin >> zStanica[i].vozovi[j].relacijaVoz;
  49.                 cin >> zStanica[i].vozovi[j].brojKilometri;
  50.                 cin >> zStanica[i].vozovi[j].brojPatnici;
  51.         }
  52.     }
  53.  
  54.     char grad[25];
  55.     cin>>grad;
  56.  
  57.     najkratkaRelacija(zStanica,n,grad);
  58.     return 0;
  59. }
  60.  
Add Comment
Please, Sign In to add comment