Advertisement
filip710

2016KOL2_Z2_GRUPA A

Jul 6th, 2016
148
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.64 KB | None | 0 0
  1. /* Deklarirati strukturu automobil u koju će se spremiti ovakvi ulazni podaci:
  2.  * marka, model, godiste, broj_konja, cijena. Ulaz u program je prvo broj automobila
  3.  * koji će se učitati, a nakon toga redom podaci o njima.
  4.  * Primjer ulaznih podataka:
  5.  * 3
  6.  * Lamborghini
  7.  * Diablo
  8.  * 2000
  9.  * 590
  10.  * 230000
  11.  * Porsche
  12.  * 911
  13.  * 2007
  14.  * 320
  15.  * 127000
  16.  * Opel
  17.  * Corsa
  18.  * 2011
  19.  * 90
  20.  * 12000
  21.  
  22.  * Omogućiti korisniku unos podataka za željeni broj automobila (max 20) u polje struktura.
  23.  
  24.  * Napisati funkciju swap koja će primiti pokazivače na 2 člana polja struktura automobila te im zamijeniti mjesta.
  25.  
  26.  * Napisati funkciju sort koja će primiti pokazivač na učitano polje struktura i broj elemenata tog polja.
  27.  * Funkcija treba sortirati članove tog polja po broju konjskih snaga u rastućem redoslijedu.
  28.  * Koristiti algoritam sortiranja izborom najmanjeg elementa, a za zamjenu članova polja koristiti prethodno napisanu funkciju swap.
  29.  
  30.  * Napisati funkciju ispis koja će ispisati sortirano polje na ekran u obliku:
  31.  * marka model snaga
  32.  * Svaki zapis mora biti u novom redu.
  33.  
  34.  * U glavnom dijelu programa učitati podatke za n automobila, sortirati polje struktura te na kraju na ekran ispisati sortirano polje u traženom formatu.
  35.  
  36.  */
  37.  
  38. //PROGRAM.C
  39. #include<stdio.h>
  40. #include"functions.h"
  41.    
  42. int main()
  43. {
  44.     int n, i;
  45.  
  46.     scanf("%d", &n);
  47.     struct automobil auti[n];
  48.    
  49.     for(i=0;i<n;i++)
  50.     {
  51.         scanf("%s", auti[i].marka);
  52.         scanf("%s", auti[i].model);
  53.         scanf("%d", &auti[i].godiste);
  54.         scanf("%d", &auti[i].broj_konja);
  55.         scanf("%d", &auti[i].cijena);
  56.     }
  57.    
  58.     sort(auti, n);
  59.     ispis(auti, n);
  60.    
  61.     return 0;
  62. }
  63.  
  64. //HEADER
  65. #ifndef FUNCTIONS_H
  66. #define FUNCTIONS_H
  67.  
  68. struct automobil{
  69.     char marka[20];
  70.     char model[20];
  71.     int godiste;
  72.     int broj_konja;
  73.     int cijena;
  74. };
  75.  
  76. void swap(struct automobil *a1, struct automobil *a2);
  77. void sort(struct automobil *a, int n);
  78. void ispis(struct automobil *a, int n);
  79.  
  80. #endif
  81.  
  82. //FUNKCIJE
  83. #include<stdio.h>
  84. #include"functions.h"
  85. void swap(struct automobil *a1, struct automobil *a2)
  86. {
  87.     struct automobil pom;
  88.     pom=*a1;
  89.     *a1=*a2;
  90.     *a2=pom;
  91. }
  92.  
  93. void sort(struct automobil *a, int n)
  94. {
  95.    int i, j, min;
  96.    for(i=0;i<n;i++)
  97.    {
  98.        min=i;
  99.        for(j=i+1;j<n;j++)
  100.        {
  101.            if(a[j].broj_konja<a[min].broj_konja) min=j;
  102.        }
  103.        swap(&a[i], &a[min]);
  104.    }
  105. }
  106. void ispis(struct automobil *a, int n)
  107. {
  108.     int i;
  109.     printf("REZULTATI:\n");
  110.     for(i=0;i<n;i++)
  111.     {
  112.         printf("%s %s %d\n", a[i].marka, a[i].model, a[i].broj_konja);
  113.     }
  114. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement