1

Click here to load reader

09_14.02.2005

Embed Size (px)

DESCRIPTION

Rok i spit

Citation preview

Page 1: 09_14.02.2005

Zadaća iz Programiranja

14. veljače 2005.

1. (40 bodova)

Napisati funkciju: char *isSortedIgnoreCase(char *str)

koja treba provjeriti da li je zadani niz sortiran. Pretpostavlja se da se u zadanom nizu nalaze

samo velika i mala slova engleskog afabeta. Ukoliko je niz sortiran funkcija vraća NULL, a

inače pokazivač na prvi znak s lijeve strane koji narušava svojstvo sortiranosti. Funkcija nije

osjetljiva na velika i mala slova. Na primjer za:

isSortedIgnoreCase("aBcFGm") -> funkcija vraća NULL

isSortedIgnoreCase("abZghijkl") -> funkcija vraća pokazivač na slovo g

2. (40 bodova)

Napisati funkciju koja će zadanoj realnoj matrici proizvoljnih dimenzija zaokružiti svaki član

na cijelobrojnu vrijednost. U zadanoj matrici se nalaze samo nenegativni realni brojevi.

Funkcija treba ispisati redne brojeve redaka i kolona za koje vrijedi da je suma članova retka

(odnosno kolona) ista onoj prije zaokruživanja.

Npr. za matricu:

1.5 0.6 0.6 2.0 1.0 1.0

0.9 0.4 0.7 → 1.0 0.0 1.0

0.1 1.0 0.7 0.0 1.0 1.0

funkcija će ispisati (numeracija od 0): Retci: 1

Kolone: 1

3. (35 bodova)

Datoteka čiji naziv je zadan iz komandne linije u svakom retku sadrži naziv datoteke na

disku. Na primjer: C:\temp\readme.txt

D:\tmp\movie.avi

F:\song.mp3

Napisati program koji će ispisati koja je od tih datoteka najveća.

Napomena: datoteka s popisa ne mora postojati na disku.

4. (35 bodova)

Zadana je direktna neformatirana datoteka "posudbe.dat" koja sadrži podatke o tome koja

osoba je posudila koji film u tekućem mjesecu:

rbr_osoba long

sifre_filmova long polje od 100 elemenata

br_pos_film short (broj posuđenih filmova, maksimalno 100)

pri čemu rbr_osoba odgovara rednom broju osobe u datoteci. Šifre filmova služe kako bi se

film mogao pronaći u direktnoj neformatiranoj datoteci "filmovi.dat" koja sadrži

strukture:

sifra_film long

naziv polje od 100 znakova

tip_medija polje od 10 znakova

cijena float

pri čemu šifra filma odgovara rednom broju zapisa u datoteci. Napisati funkciju koja će

vratiti redni broj osobe koja ostvarila najveći promet (suma cijene posuđenih filmova) u

tekućem mjesecu. Ukoliko ima više osoba koje imaju promet jednak maksimalnom prometu

vratiti onu sa manjim rednim brojem. U slučaju pogreške vratiti -1.