Advertisement
Dimoo23

Vezbi 1 kolokvium Skijacki centar [OOP]

Mar 17th, 2018
219
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.31 KB | None | 0 0
  1. /* Да се креира структура SkiLift во која се чуваат податоци за името на ски лифтот (низа од 15 знаци), максимален број на корисници што може да опслужи на едно возење, дали е пуштен во функција.
  2.  
  3. Потоа да се креирa структура SkiCenter во која се чуваат податоци за името на скијачкиот центар, држава во која се наоѓа (низи од 20 знаци), низа од ски лифтови (макс 20) што ги има и број на ски лифтови.
  4.  
  5. Треба да се направи функција со потпис
  6.  
  7. void najgolemKapacitet(SkiCenter *sc, int n)
  8. која што ќе го отпечати ски центарот што има најголем капацитет за опслужување скијачи (вкупниот број на скијачи кои може да се опслужуваат во еден момент вкупно на сите ски лифтови во центарот). Доколку два ски центри имаат ист капацитет, тогаш се печати оној кој има поголем број на ски лифтови. Притоа треба да се испечатат во посебен ред името, државата и капацитетот на ски центарот. Кога се пресметува капацитет на еден ски центар во предвид се земаат само ски лифтовите кои се поставени дека се во функција. */
  9.  
  10. #include<stdio.h>
  11. #include<string.h>
  12. typedef struct Skilift{
  13. char ime[15];
  14. int maxkorisnici,usable;
  15. }Skilift;
  16.  
  17. typedef struct SkiCenter{
  18. char ime[20],drzava[20];
  19. Skilift lift[20];
  20. int brojliftovi,kapacitet;
  21. }SkiCenter;
  22.  
  23. void najgolemKapacitet(SkiCenter *sc, int n){
  24.     int i,j;
  25.     SkiCenter najgolem;
  26.     for(i=0;i<n;i++){
  27.         for(j=0;j<sc[i].brojliftovi;j++){
  28.             if(sc[i].lift[j].usable==1){
  29.             sc[i].kapacitet+=sc[i].lift[j].maxkorisnici;
  30.             }
  31.         }
  32.     }
  33.     najgolem=sc[0];
  34.     for(i=0;i<n;i++){
  35.         if(sc[i].kapacitet>najgolem.kapacitet)
  36.             najgolem=sc[i];
  37.         }
  38.     for(i=0;i<n;i++){
  39.         if(sc[i].kapacitet==najgolem.kapacitet){
  40.             if(sc[i].brojliftovi>najgolem.brojliftovi)
  41.                 najgolem=sc[i];
  42.         }
  43.     }
  44. printf("%s\n%s\n%d",najgolem.ime,najgolem.drzava,najgolem.kapacitet);
  45. }
  46. int main()
  47. {
  48.     int i,n;
  49.     scanf("%d", &n);
  50.     SkiCenter a[20];
  51.     for (i = 0; i < n; i++){
  52.         //vnesi ime
  53.         scanf("%s",a[i].ime);
  54.         //vnesi drzava
  55.         scanf("%s",a[i].drzava);
  56.         //vnesi broj na liftovi
  57.         scanf("%d",&a[i].brojliftovi);
  58.         int j;
  59.         a[i].kapacitet=0;
  60.         //za sekoj ski lift vnesi:
  61.         for(j=0;j<a[i].brojliftovi;j++){
  62.             //vnesi ime
  63.             scanf("%s",a[i].lift[j].ime);
  64.             //vnesi maksimalen broj korisnici
  65.             scanf("%d",&a[i].lift[j].maxkorisnici);
  66.             //vnesi dali e pusten vo funkcija
  67.             scanf("%d",&a[i].lift[j].usable);
  68.             }
  69.     }
  70.  
  71.     //povik na funkcijata najgolemKapacitet
  72.     najgolemKapacitet(a,n);
  73.  
  74.     return 0;
  75. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement