Kezdőoldal » Számítástechnika » Programozás » Mi a hiba az alábbi C programb...

Mi a hiba az alábbi C programban? Két nemnegatív decimális számnak a bináris ábrázolásában kell megszámlálni az eltérő jegyek számát.

Figyelt kérdés

#include <stdio.h>


int elteres(int a, int b) {

int A[100], B[100];

int i;

for (i=0; (a/2)!=0; i++) {

A[i]=a%2;

a=a/2;

}

A[i]='\0';


for (i=0; (a/2)!=0; i++) {

B[i]=b%2;

b=b/2;

}

B[i]='\0';


int e=0;

for (i=0; A[i]!='\0' && B[i]!='\0'; i++) {

if (A[i]!=B[i]) {e++;}

}

return e;

}


main() {

int a, b, i;

scanf("%d", &a);

scanf("%d", &b);

printf("A kulonbseg: %d", elteres(a,b));

return 0;

}


A hiba ott van, hogy minden bemenetere 0-t ír ki...

tudom, hogy fordítva kell olvasni a bináris jegyeket, de szerintem itt a különbség szempontjából nincs jelentősége. vagy mégis lenne? :O

Előre is köszönöm a segítséget! Math.h és string.h nem használható!


2015. okt. 24. 12:42
 1/5 A kérdező kommentje:
egy hiba meg van, a második for ciklusban b/2!=0 kell, de még így sem jó...
2015. okt. 24. 12:56
 2/5 A kérdező kommentje:
Hm sikerült. Egész értékeket tartalmazó tömböt nem zárhatok le '/0' karakterrel :D
2015. okt. 24. 13:01
 3/5 A kérdező kommentje:
mondjuk még valami mindig nem jó... csúnya megoldás ez...
2015. okt. 24. 13:06
 4/5 anonim ***** válasza:
Töltsd fel indentálva a kódot, mert sokat ront az értelmezhetőségén, hogy nincs formázva.
2015. okt. 24. 15:11
Hasznos számodra ez a válasz?
 5/5 anonim ***** válasza:
Identálva: [link]
2015. okt. 24. 15:13
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!