Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* Deklarirati strukturu automobil u koju će se spremiti ovakvi ulazni podaci:
- * marka, model, godiste, broj_konja, cijena. Ulaz u program je prvo broj automobila
- * koji će se učitati, a nakon toga redom podaci o njima.
- * Primjer ulaznih podataka:
- * 3
- * Lamborghini
- * Diablo
- * 2000
- * 590
- * 230000
- * Porsche
- * 911
- * 2007
- * 320
- * 127000
- * Opel
- * Corsa
- * 2011
- * 90
- * 12000
- * Omogućiti korisniku unos podataka za željeni broj automobila (max 20) u polje struktura.
- * Napisati funkciju swap koja će primiti pokazivače na 2 člana polja struktura automobila te im zamijeniti mjesta.
- * Napisati funkciju sort koja će primiti pokazivač na učitano polje struktura i broj elemenata tog polja.
- * Funkcija treba sortirati članove tog polja po broju konjskih snaga u rastućem redoslijedu.
- * Koristiti algoritam sortiranja izborom najmanjeg elementa, a za zamjenu članova polja koristiti prethodno napisanu funkciju swap.
- * Napisati funkciju ispis koja će ispisati sortirano polje na ekran u obliku:
- * marka model snaga
- * Svaki zapis mora biti u novom redu.
- * 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.
- */
- //PROGRAM.C
- #include<stdio.h>
- #include"functions.h"
- int main()
- {
- int n, i;
- scanf("%d", &n);
- struct automobil auti[n];
- for(i=0;i<n;i++)
- {
- scanf("%s", auti[i].marka);
- scanf("%s", auti[i].model);
- scanf("%d", &auti[i].godiste);
- scanf("%d", &auti[i].broj_konja);
- scanf("%d", &auti[i].cijena);
- }
- sort(auti, n);
- ispis(auti, n);
- return 0;
- }
- //HEADER
- #ifndef FUNCTIONS_H
- #define FUNCTIONS_H
- struct automobil{
- char marka[20];
- char model[20];
- int godiste;
- int broj_konja;
- int cijena;
- };
- void swap(struct automobil *a1, struct automobil *a2);
- void sort(struct automobil *a, int n);
- void ispis(struct automobil *a, int n);
- #endif
- //FUNKCIJE
- #include<stdio.h>
- #include"functions.h"
- void swap(struct automobil *a1, struct automobil *a2)
- {
- struct automobil pom;
- pom=*a1;
- *a1=*a2;
- *a2=pom;
- }
- void sort(struct automobil *a, int n)
- {
- int i, j, min;
- for(i=0;i<n;i++)
- {
- min=i;
- for(j=i+1;j<n;j++)
- {
- if(a[j].broj_konja<a[min].broj_konja) min=j;
- }
- swap(&a[i], &a[min]);
- }
- }
- void ispis(struct automobil *a, int n)
- {
- int i;
- printf("REZULTATI:\n");
- for(i=0;i<n;i++)
- {
- printf("%s %s %d\n", a[i].marka, a[i].model, a[i].broj_konja);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement