/******************************************* * Ime i Prezime: Bojan Delic * Broj indexa: 11510 * Godina studija: 1 * Datum: 12.12.2005 * Verzija: 0.1 ********************************************/ /*********************************************************** * * Napisati program koji za N gradova, koji su povezani kruznim putem, * i za koje se zna cena putovanja od jednog do drugog grada i cena frizidera * u svakom gradu, odredjuje u kom gradu je najekonomicnije kupiti * frizider, ako se zna u kom gradu se kupac nalazi. U cenu puta uracunat * je i povratak. Program napisati na jeziku C! * ************************************************************/ #include #define MAX_NIZ 50 main () { /****************************************** * * Definisanje enumeracije * ******************************************/ enum pozneg {NEG, POZ}; /*********************************************************************** * * Deklaracija promenljivih * n je broj gradova * fridz je niz sa cenama frizidera u svakom gradu * put je niz sa cenom puta do svakog grada * i, j je brojac za petlju * grad je broj grada gde se kupac nalazi * eko1 i eko2 su nizovi sa ukupnim cenama frizidera sa putovanjem * u oba smera (eko1 je pozitivan smer, a eko2 negativan) * sumput je ukupna cena svih putovanja (putovanje u krug) * min1 i min2 su najmanji clanovi nizova eko1 i eko2 * min je najmanja cena iz oba pravca * pozneg pamti najekonomicniji smer kretanja kupca * eko1grad i eko2grad pamte broj najekonomicnijeg grada * ekograd je broj najekonomicnijeg grada uopste * again je pomocna promenljiva za ponavljanje programa ako to korinsik zeli * **********************************************************************/ float fridz[MAX_NIZ], put[MAX_NIZ], eko1[MAX_NIZ], eko2[MAX_NIZ], sumput, min1, min2, min; int n, i, j, grad, pozneg, eko1grad, eko2grad, ekograd; char again = 'y'; /***************************************** * * Uvodna konverzacija * *****************************************/ printf("Program za odredjivanje najekonomicnije kupovine frizidera!"); while (again=='y') { /***************************************** * * Inicijalizacija niza * ******************************************/ for (i=0; iMAX_NIZ) { printf("Unos je van opsega! Unesite ponovo broj gradova: "); scanf("%d", &n); } /************************************** * * Unos cena frizidera u svakom gradu * **************************************/ printf("\n\tUnos cena frizidera u svakom gradu\n"); for (i=0; in) { printf("Unesti grad je izvan opsega! U kom gradu se kupac nalazi? "); scanf("%d", &grad); } grad--; /*oduzimanjem jedinice od rednog broja grada dobijamo index grada u nizu */ /***************************************** * * Kreiranje niza cena u svim gradovima zajedno sa * putovanjem do tih gradova u pozitivnom smeru * (suprotan kretanju kazaljke na satu) * *****************************************/ for (i=0; igrad) { for (j=grad; jgrad) { eko2[i] = sumput; for (j=grad; j