diff options
author | Anton Luka Šijanec <anton@sijanec.eu> | 2022-02-02 22:39:19 +0100 |
---|---|---|
committer | Anton Luka Šijanec <anton@sijanec.eu> | 2022-02-02 22:39:19 +0100 |
commit | 3c3c3a6b1ab5a98ef4f400d5aa615ddabf3b94c5 (patch) | |
tree | 3e7821a6bfca04de0ecf851a41ae00e3b7caa648 /inf/rtk/šolsko/4.c | |
parent | dnmat (diff) | |
download | sola-gimb-3-3c3c3a6b1ab5a98ef4f400d5aa615ddabf3b94c5.tar sola-gimb-3-3c3c3a6b1ab5a98ef4f400d5aa615ddabf3b94c5.tar.gz sola-gimb-3-3c3c3a6b1ab5a98ef4f400d5aa615ddabf3b94c5.tar.bz2 sola-gimb-3-3c3c3a6b1ab5a98ef4f400d5aa615ddabf3b94c5.tar.lz sola-gimb-3-3c3c3a6b1ab5a98ef4f400d5aa615ddabf3b94c5.tar.xz sola-gimb-3-3c3c3a6b1ab5a98ef4f400d5aa615ddabf3b94c5.tar.zst sola-gimb-3-3c3c3a6b1ab5a98ef4f400d5aa615ddabf3b94c5.zip |
Diffstat (limited to '')
-rw-r--r-- | inf/rtk/šolsko/4.c | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/inf/rtk/šolsko/4.c b/inf/rtk/šolsko/4.c new file mode 100644 index 0000000..1aa574c --- /dev/null +++ b/inf/rtk/šolsko/4.c @@ -0,0 +1,27 @@ +/* +opisna rešitev: + +Naredimo seznam takih elementov: + +enum dejanje { + PRIHOD, + ODHOD +}; +struct dejanje { + int čas; + int dolžina; + enum dejanje dejanje; +}; + +V zanki za vsak tovornjak v ta seznam dodamo ta dejanja. Najprej dodamo dejanje s .dejanje == PRIHOD in čas prihoda, nato pa dejanje s .dejanje == ODHOD, ki vsebuje vrednost prihoda, ki ji je prištet čas postanka. V vsak element seznama dodamo tudi dolžino tovornjaka. + +Po velikosti uredimo glede na čas seznam dejanj s standardno funkcijo qsort(). Sortirna funkcija naj v obzir vzame tudi dejanje. Če je prvo dejanje ODHOD in drugo PRIHOD, imata pa isti čas, vrne -1 in s tem postavi ODHOD pred PRIHOD. + +Deklariramo številsko spremenljivko maksdolžina in jo inicializiramo na 0, prav tako naredimo spremenljivko trenutnadolžina. + +Gremo po urejenem seznamu v zanki in ko naletimo na element s .dejanje == PRIHOD, povečamo spremenljivko trenutnadolžina za .dolžina, ko naletimo na element s .dejanje == ODHOD, zmanjšamo spremenljivko trenutnadolžina za .dolžina. Vsakič na koncu programa v zanki preverimo, če je trenutnadolžina morebiti večja od maksdolžina, v tem primeru maksdolžina nastavimo na trenutnadolžina. + +Ob koncu te zanke na standardni izhod izpišemo spremenljivko maksdolžina in končamo program. + +*/ + |