Hirdetés
- Google Pixel 10a – évismétlés
- Itt a Galaxy S26 széria: az Ultra fejlődött, a másik kettő alig
- Milyen okostelefont vegyek?
- Magisk
- iPhone topik
- Fotók, videók mobillal
- Redmi Note 15 Pro+ - több plusz, mint mínusz
- Brutális akkumulátort kaphat a Honor X80 GT
- Kis tárcsa kerül a nagy mellé a kameratelefonon
- Garmin Forerunner 965 - csúcs
Új hozzászólás Aktív témák
-
válasz
!wannabe
#489
üzenetére
Hali!
Az ndx tömben van tárolva ugyebár, hogy melyik számjegy hányszor fordul elő.
Mivel én STRING-ként olvasom be, ezért a '0'-'9' számjegyek a karakterkódjukkal vannak jelen a STRING-be, vagyis hexa 0x30-0x39. Ebből kell 0-9 indexet csinálni.
pla '9' ascii kódja 0x39 binárisan 00111001, a 0x0f binárisan 00001111
00111001 AND 00001111 = 0000 1001 azaz 9.
( az AND ott lesz 1, ahol mindkét számban az azonos bitpozíción 1 van)
tehát ebben az esetben az ndx[str[i] & 0x0f]++ az ndx[9]++ lesz, azaz a tömb 9. indexén lévő elem értékét megnöveli egyel.Meg lehetett volna így is oldani ndx[str[i]-0x30]++ vagy ndx[str[i]-'0']++
Csak azért választottam az AND-es módszert, mert a logikai műveletek fontos része minden programozási nyelvnek(AND, OR, XOR, NOT stb)Fire.
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Samsung Galaxy Xcover 5 64GB, Kártyafüggetlen, 1 Év Garanciával
- BESZÁMÍTÁS! Gigabyte B650M R5 7600 16GB DDR5 512GB SSD RX 9070 XT 16GB NZXT H7 Flow fehér 750W
- Beszámítás! LENOVO LOQ 15AHP10 FHD Gamer notebook - R7 250 16GB DDR5 1TB SSD RTX 5060 8GB
- Beszámítás! Logitech G920 Driving Force Racing kormányszett + váltó garanciával hibátlan működéssel
- Bomba ár! Lenovo ThinkPad P52 XEON I 32GB I 512SSD I Nvidia I 15,6" FHD I Cam I W11 I Garancia!
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

