Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //PROGRAM.C
- /* Deklarirati strukturu film u koju će se spremiti ovakvi ulazni podaci:
- * naziv_filma, redatelj, godina_izlaska i ocjena. Ulaz u program je prvo broj filmova
- * koji će se učitati, a nakon toga redom podaci o njima.
- * Primjer ulaznih podataka:
- * 3
- * The Shawshank Redemption
- * Frank Darabont
- * 1994
- * 9.3
- * Shrek
- * Andrew Adamson
- * 2001
- * 7.9
- * Fight Club
- * David Fincher
- * 1999
- * 8.9
- * 2011
- * 90
- * 12000
- * Omogućiti korisniku unos podataka za željeni broj filmova (max 20) u polje struktura.
- * Napisati funkciju swap koja će primiti pokazivače na 2 člana polja struktura filmova 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 ocjeni filma u padajućem redoslijedu.
- * Koristiti algoritam sortiranja zamjenom susjednih elemenata, a za zamjenu članova polja koristiti prethodno napisanu funkciju swap.
- * Napisati funkciju ispis koja će ispisati sortirano polje na ekran u obliku:
- * ime_filma godina_izlaska ocjena
- * Svaki zapis mora biti u novom redu.
- * U glavnom dijelu programa učitati podatke za n filmova, sortirati polje struktura te na kraju na ekran ispisati sortirano polje u traženom formatu.
- */
- #include<stdio.h>
- #include"functions.h"
- int main()
- {
- int n, i;
- scanf("%d", &n);
- struct film filmovi[n];
- getchar();
- for(i=0;i<n;i++)
- {
- printf("Naziv:\n");
- scanf("%[^\n]%*c", filmovi[i].naziv_filma);
- printf("Redatelj:\n");
- scanf("%[^\n]%*c", filmovi[i].redatelj);
- printf("Godina:\n");
- scanf("%d", &filmovi[i].godina_izlaska);
- getchar();
- printf("Ocjena:\n");
- scanf("%f", &filmovi[i].ocjena);
- getchar();
- }
- sort(filmovi, n);
- ispis(filmovi, n);
- return 0;
- }
- //HEADER
- #ifndef FUNCTIONS_H
- #define FUNCTIONS_H
- struct film{
- char naziv_filma[30];
- char redatelj[30];
- int godina_izlaska;
- float ocjena;
- };
- void swap(struct film *f1, struct film *f2);
- void sort(struct film *f, int n);
- void ispis(struct film *f, int n);
- #endif
- //FUNKCIJE
- #include<stdio.h>
- #include"functions.h"
- void swap(struct film *f1, struct film *f2)
- {
- struct film pom;
- pom=*f1;
- *f1=*f2;
- *f2=pom;
- }
- void sort(struct film *f, int n)
- {
- int i, j;
- for(i=0;i<n-1;i++)
- {
- for(j=0;j<n-1-i;j++)
- {
- if(f[j+1].ocjena>f[j].ocjena) swap(&f[j], &f[j+1]);
- }
- }
- }
- void ispis(struct film *f, int n)
- {
- int i;
- printf("REZULTATI:\n");
- for(i=0;i<n;i++)
- {
- printf("%s %d %.1f\n", f[i].naziv_filma, f[i].godina_izlaska, f[i].ocjena);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement