#4 vitamin
Síce hej, stačí keď z daného znaku odčítam základnú hodnotu a vyjde mi presne to isté číslo (síce pod iným znakom, ale to ma trápiť nemusí)
Dík
Úloha: Napiste program, ktory precita 2 znaky v rozsahu 0-9 alebo A-F. Pozor, necitate 1 hexadecimalne cislo! Tieto
2 znaky potom povazujte za hexadecimalne cislo a vypiste jeho hodnotu dekadicky
problém je ten, že mi to bere stále ASCII hodnotu čísla. Nevie niekto ako to spraviť ?
PS: zatiaľ ešte nepoužívam knižnicu ctype.h
int a,b;
if(((a = getchar()) >= '0' && a <= '9') || (a >= 'A' && a <= 'F')){
if(((b = getchar()) >= '0' && b <= '9') || (b >= 'A' && b <= 'F')){
if(a >= 'F' && a <= 'Z'){
switch(a){
case 'A': a = 10;
break;
case 'B': a = 11;
break;
case 'C': a = 12;
break;
case 'D': a = 13;
break;
case 'E': a = 14;
break;
case 'F': a = 15;
break;
}
}
if(b >= 'F' && b <= 'Z'){
switch(b){
case 'A': b = 10;
break;
case 'B': b = 11;
break;
case 'C': b = 12;
break;
case 'D': b = 13;
break;
case 'E': b = 14;
break;
case 'F': b = 15;
break;
}
}
printf("cislo %c%c v hexadecimalnom tvare ma tento dekadicky tvar: %i \n", a,b, (a * 16) + b);
}
else
printf("Druhy znak %c nema pozadovany tvar \n", b);
}
else
printf("Prvy znak %c nema pozadovany tvar \n", a);