Spočítanie čísiel – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Spočítanie čísiel – C / C++ – Fórum – Programujte.comSpočítanie čísiel – C / C++ – Fórum – Programujte.com

 

Robo
~ Anonymní uživatel
82 příspěvků
7. 2. 2013   #1
-
0
-

Ú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);
Nahlásit jako SPAM
IP: 188.112.82.–
Pomeranc0
Duch
7. 2. 2013   #2
-
0
-
Nahlásit jako SPAM
IP: 83.240.91.–
Robo
~ Anonymní uživatel
82 příspěvků
7. 2. 2013   #3
-
0
-

#2 Pomeranc
Aj toto sú pre mňa "zakázané" funkcie. Tento príklad je v knihe v takej časti, kde sa polia, reťazce, funkcie z ctype a iné veci nepoužívajú. Môžem použiť len stdio a riadiace štruktúry (if, for...).

Nahlásit jako SPAM
IP: 188.112.82.–
vitamin+8
Grafoman
7. 2. 2013   #4
-
0
-

riesi sa to vecsinou takto:

if(a >= '0' && a <= '9')a = a - '0';
else if(a >= 'a' && a <= 'f')a = a - 'a' + 10;	
//...
Nahlásit jako SPAM
IP: 95.105.157.–
obfuscate: "The cruel god Malloc will strike you down. "
ZMeson: "That's the C god. C++ has a new god. "
Robo
~ Anonymní uživatel
82 příspěvků
7. 2. 2013   #5
-
0
-

#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

Nahlásit jako SPAM
IP: 188.112.82.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 23 hostů

Podobná vlákna

Spočítanie čísiel — založil street punk

Spočítanie polí v List — založil Patrik

Hadanie cisiel — založil Iva

Vytváranie čísiel — založil ArcaneBeam13

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý