|
|
|
|
Strumenti |
13-02-2012, 13:09 | #1 |
Junior Member
Iscritto dal: Feb 2012
Messaggi: 14
|
Programma conversione caratteri numeri [C]
Ho creato una matrice simile a questa formata da lettere casuali dalla A alla F e numeri casuali da 0 a 9:
< A 5> <D 2> B 7> < C 2> <E 9> <F 4> devo convertire le lettere in dei numeri precisi (A=10; B=11; C=12.....) e creare una funzione che mi stampi solo le coppie lettera-numero la cui somma supera un valore D inserito da tastiera.. Ma non riesco a capire..Come faccio a attribuire i valori numerici ai caratteri?? *Windows 7 |
13-02-2012, 13:34 | #2 |
Senior Member
Iscritto dal: Nov 2004
Città: Padova
Messaggi: 2342
|
O fai uno switch a 26 case per ogni lettera dell'alfabeto (ipotizzando che siano possibili 26 lettere), oppure, se le lettere sono tutte maiuscole, allora puoi considerare il fatto che il codice ascii della 'A' è 65 (decimale), quello della 'B' è 66, ... a questo punto tratti il char come un valore intero e gli sottrai 55.
'A' (=65) - 55 = 10 'B' (=66) - 55 = 11 e via dicendo...
__________________
CPU Ryzen 2600 @ 3,95Ghz + Bequiet Dark Rock TF / MB Asus X470-F Gaming / RAM 2x8GB DDR4 G.Skill FlareX 3200 CL14 / VGA Sapphire RX 7900 XT Nitro+ @ 3200Mhz / SSD Samsung 970 Pro 512GB + Sandisk 240GB Plus + Sandisk 960GB Ultra II PSU Seasonic Platinum P-660 / Headset Kingston HyperX Flight |
13-02-2012, 13:47 | #3 |
Senior Member
Iscritto dal: Jan 2010
Città: (MB)
Messaggi: 11937
|
switch-case è il metodo più semplice
__________________
CPU: Ryzen 3700x DISSY: CM HYPER EVO 212 RAM: 16gb DDR4 3000Mhz MOBO: MSI b350 tomahawk VGA: MSI Ventus 2X 4060TI 16GB ALI: Cooler Master V550 SSD: Samsung 970 Evo Plus Trattive+:(a) topolino2808(x2), galfum, giap959, sm_morgan, Biduzzo, huangwei, maxmax80, bubbi, dinamite2, PaxNoctis;(v) rubrie, CubeDs, Slater91, Juvanni, FireFox152, gluvocio, giulio81, emahwupgrade, Velvet, semmy83, giocher03 |
13-02-2012, 19:24 | #4 |
Senior Member
Iscritto dal: Mar 2007
Città: Milano Beach
Messaggi: 1689
|
Perchè scrivere un centinaio di righe di codice (incredibilmente ripetitivo, quindi potenzialmente ricco di errori) quando te la puoi cavare con due?
Una volta che hai la corrispondenda completa char -> int giochi con gli ascii e via.
__________________
~ Cthulhu: MacBookPro 13.3" ~ Azathoth: D510MO |
13-02-2012, 20:17 | #5 |
Senior Member
Iscritto dal: Jan 2010
Città: (MB)
Messaggi: 11937
|
Si hai proprio ragione, l'ho provato e sinceramente è venuto fuori subito, bel giochetto.
__________________
CPU: Ryzen 3700x DISSY: CM HYPER EVO 212 RAM: 16gb DDR4 3000Mhz MOBO: MSI b350 tomahawk VGA: MSI Ventus 2X 4060TI 16GB ALI: Cooler Master V550 SSD: Samsung 970 Evo Plus Trattive+:(a) topolino2808(x2), galfum, giap959, sm_morgan, Biduzzo, huangwei, maxmax80, bubbi, dinamite2, PaxNoctis;(v) rubrie, CubeDs, Slater91, Juvanni, FireFox152, gluvocio, giulio81, emahwupgrade, Velvet, semmy83, giocher03 |
13-02-2012, 20:24 | #6 | |
Senior Member
Iscritto dal: Nov 2004
Città: Padova
Messaggi: 2342
|
Quote:
il char è un tipo di dato primitivo della dimensione di un byte che è comodo da usare come carattere ascii 8bit da cui prende il nome. Però di fatto in C lo puoi trattare come un unsigned byte forzando la scrittura del codice. Spesso si usa un puntatore *char anche per leggere stream o aree di memoria un byte alla volta, e nessuno impone che tu debba leggere per forza caratteri, possono anche essere dati raw.
__________________
CPU Ryzen 2600 @ 3,95Ghz + Bequiet Dark Rock TF / MB Asus X470-F Gaming / RAM 2x8GB DDR4 G.Skill FlareX 3200 CL14 / VGA Sapphire RX 7900 XT Nitro+ @ 3200Mhz / SSD Samsung 970 Pro 512GB + Sandisk 240GB Plus + Sandisk 960GB Ultra II PSU Seasonic Platinum P-660 / Headset Kingston HyperX Flight |
|
14-02-2012, 23:30 | #7 | |
Senior Member
Iscritto dal: Jan 2010
Città: (MB)
Messaggi: 11937
|
Quote:
__________________
CPU: Ryzen 3700x DISSY: CM HYPER EVO 212 RAM: 16gb DDR4 3000Mhz MOBO: MSI b350 tomahawk VGA: MSI Ventus 2X 4060TI 16GB ALI: Cooler Master V550 SSD: Samsung 970 Evo Plus Trattive+:(a) topolino2808(x2), galfum, giap959, sm_morgan, Biduzzo, huangwei, maxmax80, bubbi, dinamite2, PaxNoctis;(v) rubrie, CubeDs, Slater91, Juvanni, FireFox152, gluvocio, giulio81, emahwupgrade, Velvet, semmy83, giocher03 |
|
23-12-2021, 09:57 | #8 |
Junior Member
Iscritto dal: Dec 2021
Messaggi: 1
|
Prova switch
Ciao, perfavore qualcuno potrebbe farmi vedere come funzionerebbe lo switch case per convertire le lettere??
|
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 10:00.