Kezdőoldal » Számítástechnika » Programozás » C programozásban segítség?

C programozásban segítség?

Figyelt kérdés

Sziasztok két kérdésem lenne, mert holnap zh és még ezek nem tiszták.


1) a feladat olyasmi h 0x33 számmal kezdődően töltsünk fel egy 129 elemű tömböt. Gondolom növekvő számmal.


így csináltam:

... for(a=0x33,b=0;b<129;a++)

{t[b]=a; b++}...


viszont így a tömbe az értékek 51,51,53...

ez így jó? vagy fellehet úgy is tölteni h 0x33 hexadec formába mutassa?


2) elv lehet benne olyan feladat is h az ASCII kódból betűket csinálni, meg ilyen ASCII kódokkal való feladat. Ebben tudan segíteni vki, hogy így miket kell erről tudni?



Ez a kettő lenne, nagyon megköszönném ha vki vmelyikben vagy akár mindkettőben tudna segíteni:)) köszi!!


2013. márc. 26. 19:33
 1/10 anonim ***** válasza:
Az első probléma esetén tanuld meg mik azok a számrendszerek és ezek között hogyan lehet átváltani. A számítógép bináris formában tárolja az adatokat. Hogy ezeket te hogyan, milyen formában iratod ki az már a te dolgod. Az ascii kódos feladatoknál általában azt használják ki, hogy az ascii-ben egymás után következnek angol abc sorrendben a betűk, illetve a számok is növekvő sorrendben vannak. Pl ha rendezni kell neveket, akkor az ascii kód alapján ezt könnyen meg lehet tenni, vagy ascii kód alapján könnyű egy karaktertömbben lévő számot mondjuk integer-ré alakítani.
2013. márc. 26. 20:14
Hasznos számodra ez a válasz?
 2/10 A kérdező kommentje:
ismerem a számrendszereket... de ahogy írtam, a kezdőértéket a ciklusban hexaként adom meg, de a tömbe decimálisan jeleníti meg. Lehet ugy hogy hexásan jelenítse meg?
2013. márc. 26. 21:27
 3/10 anonim ***** válasza:

"Lehet ugy hogy hexásan jelenítse meg?"

Igen. Fogod az int-edet, és hexadecimálissá konvertálod egy string-be. És kiíratod.

2013. márc. 26. 21:46
Hasznos számodra ez a válasz?
 4/10 anonim ***** válasza:
46%
Első vagyok. Mint ahogy előző válaszomban is leírtam, ez már a te dolgod. De ahogy észreveszem neked ettől sokkal alapvetőbb problémáid vannak. A tömbben benne nem decimálisan van, a számítógép binárisan tárolja. Szerintem te arra gondolhatsz, hogy a printf fgv. decimálisan jeleníti ezt meg, de ettől még nem úgy van eltárolva. Ha te olyan függvényt írsz, ami 38-as számrendszerben jeleníti meg, akkor úgy fogja, de ettől még egyesek és nullák formájában lesz eltárolva.
2013. márc. 26. 22:04
Hasznos számodra ez a válasz?
 5/10 iostream ***** válasza:
Ahogy mondták, a gép binárisan, kettes komplemenssel tárolja az egészeket. Amit te írtál, a 0x33 az egy LITERÁL, amiből a fordító csinál egy bináris számot, és az megy bele a végső kódba. Szóval te nem egy hexa számot írtál bele a tömbbe, te egy számot írtál bele, és a számokat decimálisan irattad ki (printf %d, a %d decimális, tehát TE mondtad meg, hogy így írja ki, próbáld meg %x-el).
2013. márc. 26. 22:05
Hasznos számodra ez a válasz?
 6/10 anonim ***** válasza:

2. Ha jól emlékszem, ANSI C-ben van ugye a char változó, ebben szokás tárolni a karaktereket meg az egy bájtos számokat. Van signed/unsigned char, de ezekkel szerintem most nem kell foglalkoznod.


Az "eredeti" ASCII 128 karaktert tartalmaz, 0-tól 127-ig, ezek a karakterek kerülnek be a char típusú változóba ASCII kódként, azaz számként.


Így megint te döntöd el, hogyan íratod ki, illetve hogyan kezeled ezeket. Részletesebben olvashatsz erről bárhol a neten.


Példák:


char a_betu = 'a';

char b_betu = 98; // decimálisan


...


printf("%c", a_betu); // kiírja, hogy: a

printf("%d", a_betu); // kiírja, hogy: 97

printf("%c", b_betu); // kiírja, hogy 98


Stb.

2013. márc. 27. 06:48
Hasznos számodra ez a válasz?
 7/10 anonim ***** válasza:

Elk*rtam, pedig milyen egyszerű példával jöttem elő... Áhh... szóval az utolsó %c-vel írja ki a b_betűt, azaz nem a 97-et fogja kiírni (ami a kódja), hanem azt, hogy: b

De ez már túl triviális ahhoz, hogy magyarázni kelljen, ha észrevetted a hibát, akkor érted a lényeget. Nem hiszem, hogy szükség van függvényekre ahhoz, hogy ASCII<-->karakter átkódolásokat végezz, ez megint csak a reprezentáción múlik, a tárolás itt is bináris valójában.

2013. márc. 27. 06:51
Hasznos számodra ez a válasz?
 8/10 anonim ***** válasza:

Vagyis nem a 98-at, hanem a b karaktert.

....


Minek írok én ilyenkor reggel, ha nem ennyire tudok odafigyelni? Na mindegy, remélem most már összeállt a kép, sok sikert a ZH-hoz! :D

2013. márc. 27. 06:52
Hasznos számodra ez a válasz?
 9/10 anonim ***** válasza:
Ilyen alapvető problémák mellett, ebből újra tárgyfelvétel lesz, ha Valkainál vagy, akkor nem is 1x.
2013. márc. 27. 11:06
Hasznos számodra ez a válasz?
 10/10 A kérdező kommentje:
köszi, amugy ja valkainál vagyok:))
2013. márc. 27. 17:11

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!