04.11.2014 Views

Osnovi programiranja - vezbe - Alas

Osnovi programiranja - vezbe - Alas

Osnovi programiranja - vezbe - Alas

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

}<br />

/* Ispisimo sumu cifara */<br />

printf("Suma cifara je %d\n",suma);<br />

}<br />

return 0;<br />

Zadatak 1.2 Sa tastature se unosi ceo broj n. Ispisati sve cifre koje sačinjavaju<br />

binarni zapis ovog broja, počevši od cifre najmanje težine.<br />

Rešenje:Iako formulacija ovog zadatka na prvi pogled izgleda prilično različita<br />

od formulacije prethodnog zadatka, u suštini se radi o veoma sličnim problemima.<br />

Naime, zapišimo broj n u obliku:<br />

tj.<br />

n = (a m . . . a 0 ) 2<br />

n = a m 2 m + a m−1 2 m−1 + . . . + a 1 2 + a 0<br />

Sada primećujemo, slično kao i malo pre, da je cifra a 0 jednaka n mod 2. Problem<br />

sada možemo da svedemo na odredjivanje binarnog zapisa broja (a m . . . a 1 ),<br />

koji je ustvari jednak [ n 2<br />

]. Dakle kod izgleda ovako:<br />

#include <br />

int main()<br />

{ /* Broj cije binarne cifre racunamo */<br />

int n;<br />

/* Unos broja sa tastature */<br />

printf("Unesite ceo broj : ");<br />

scanf("%d",&n);<br />

printf("Binarne cifre broja %d,<br />

pocevsi od cifre najmanje tezine su:\n",n);<br />

/* Ako je broj 0, zavrsavamo */<br />

while(n!=0)<br />

{ /* Ispisujemo binarnu cifru broja n najmanje tezine */<br />

printf("%d\n",n%2);<br />

/* Svodimo problem na broj [n/2] */<br />

n/=2;<br />

}<br />

}<br />

return 0;<br />

Zadatak 1.3 Sa tastature se unosi broj n, a zatim n binarnih cifara. Ispisati<br />

dekadnu vrednost broja koji se zapisuje pomoću unetih binarnih cifara i to<br />

počevši od cifre najveće težine. Npr. Ako je uneto n=4, i zatim cifre : 1 1<br />

0 1, program treba da ispiše 13.<br />

2

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!