Advertisement
gligorot

OOP-Zeleznicka Stanica/Железничка Станица

Mar 24th, 2018
290
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.56 KB | None | 0 0
  1. #include<iostream>
  2. #include <cstring>
  3. using namespace std;
  4.  
  5. typedef struct Voz{
  6.     char relacija[50];
  7.     float km;
  8.     int patnici;
  9. }Voz;
  10.  
  11. typedef struct ZeleznickaStanica{
  12.     char grad[20];
  13.     Voz vozovi[30];
  14.     int broj_vozovi;
  15. }Stanica;
  16.  
  17.  
  18. void najkratkaRelacija(ZeleznickaStanica* zs, int n, char* grad){
  19.     //najdi go indexot na stanicata
  20.     int stanica_index;
  21.     for(int i=0; i<n;i++){
  22.         if(strcmp(zs[i].grad, grad)==0){
  23.             stanica_index=i;
  24.             break;
  25.         }
  26.     }
  27.    
  28.     float min_relacija=10000;
  29.     int min_index=0;
  30.     for(int i=0; i<zs[stanica_index].broj_vozovi;i++){
  31.        
  32.         float tmp_relacija=zs[stanica_index].vozovi[i].km;
  33.         if(tmp_relacija<=min_relacija){
  34.             min_index=i;
  35.             min_relacija=tmp_relacija;
  36.         }
  37.     }
  38.    
  39.     cout<<"Najkratka relacija: "<<zs[stanica_index].vozovi[min_index].relacija<<" ("<<min_relacija<<" km)"<<endl;
  40. }
  41.  
  42. int main(){
  43.    
  44.     int n;
  45.     cin>>n; //se cita brojot na zeleznichki stanici
  46.  
  47.     Stanica zStanica[100];
  48.     for (int i=0;i<n;i++){
  49.         //se citaat informacii za n zeleznichkite stanici i se zacuvuvaat vo poleto zStanica
  50.         Stanica nova;
  51.         cin>>nova.grad;
  52.         cin>>nova.broj_vozovi;
  53.         for(int j=0;j<nova.broj_vozovi;j++){
  54.             Voz voz;
  55.             cin>>voz.relacija;
  56.             cin>>voz.km;
  57.             cin>>voz.patnici;
  58.             nova.vozovi[j]=voz;
  59.         }
  60.         zStanica[i]=nova;
  61.     }
  62.    
  63.     char grad[25];
  64.     cin>>grad;
  65.  
  66.     najkratkaRelacija(zStanica,n,grad);
  67.     return 0;
  68. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement