[ dean25 @ 13.10.2011. 13:18 ] @
Pozdrav narode,

zapeo sam na razumjevanju zadatka, tako da ne mogu ni da ga pocnem programirati...

Naime, radi se od Hammingovoj distanci izmedju 2 SLOVA.

Program bi trebao ovako da izgleda:


Code:

Please enter letter A: a
Please enter letter B: b
The Hamming Distance of the letters a and b is 2.
01100001\n
01100010\n
00000011\n


Radi se o C programskom jeziku i dozvoljena je samo <stdio.h> biblioteka...


Ima li neko predlog kako da se ovo zapocne?

Guglao sam o hammingovom code ali slabo sam nesto pronasao, sto bi pocetniku bilo razumljivo...



Hvala i pozdrav
[ Goran Rakić @ 13.10.2011. 13:42 ] @
U ASCII kodu slovo a ima kod 97 = 01100001b, b 98 = 01100010b. Potrebna ti je Hamingova udaljenost ta dva niza bitova, odnosno broj mesta gde se bitovi prvog razlikuju od bitova drugog.

Za ispis poslednja tri reda trebaće ti funkcija koja ispisuje bitove ulaznog broja.

Treći ispisani red je a XOR b. Ako se bitovi razlikuju, XOR daje 1 pa je rezultat Hamingova težina u njemu, tj. broj bitova koji nisu 0.

Zavisno kako ih prebrojiš, ovo može da bude efikasnija implementacija od gledanja bit po bit da li se razlikuju, ali traži dodatan prostor da izračunaš XOR.