Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Tastiera gaming MSI GK600 TKL: switch hot-swap, display LCD e tre modalità wireless
Tastiera gaming MSI GK600 TKL: switch hot-swap, display LCD e tre modalità wireless
MSI FORGE GK600 TKL WIRELESS: switch lineari hot-swap, tripla connettività, display LCD e 5 strati di fonoassorbimento. Ottima in gaming, a 79,99 euro
DJI Osmo Pocket 4: la gimbal camera tascabile cresce e ha nuovi controlli fisici
DJI Osmo Pocket 4: la gimbal camera tascabile cresce e ha nuovi controlli fisici
DJI porta un importante aggiornamento alla sua linea di gimbal camera tascabili con Osmo Pocket 4: sensore CMOS da 1 pollice rinnovato, gamma dinamica a 14 stop, profilo colore D-Log a 10 bit, slow motion a 4K/240fps e 107 GB di archiviazione integrata. Un prodotto pensato per i creator avanzati, ma che convince anche per l'uso quotidiano
Sony INZONE H6 Air: il primo headset open-back di Sony per giocatori
Sony INZONE H6 Air: il primo headset open-back di Sony per giocatori
Il primo headset open-back della linea INZONE arriva a 200 euro con driver derivati dalle cuffie da studio MDR-MV1 e un peso record di soli 199 grammi
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 24-09-2010, 18:58   #1
ValerioHD
Bannato
 
Iscritto dal: Sep 2010
Messaggi: 42
[C++] distinguere unita decine ecc

Salve a tutti.. ho il seguente problema.. vorrei realizzare un programma in grado di leggere in un numero intero per esempio 125 le singole unità ovvero vorrei che il programma mi metta come risultato: i numeri contenuti in 125 sono 1 2 5
non so se rendo l'idea però ciò che mi serve è la lettura di ogni singolo numero contenuto in un intero e non la lettura completa.. altro esempio se io scrivo 234 il programma mi dovrà leggere separatamente 2 3 4 e non 234 per intero.. spero di essermi spiegato.. grazie in anticipo e scusate la confusione..
ValerioHD è offline   Rispondi citando il messaggio o parte di esso
Old 24-09-2010, 19:07   #2
tuccio`
Senior Member
 
Iscritto dal: Apr 2010
Città: Frosinone
Messaggi: 416
devi leggere l'intero e poi separarlo (reiterando la divisione con resto di 10) oppure leggere caratteri e ricavarne cifre sottraendogli il carattere '0'

tipo

Codice:
char c = '7';
int n = c - '0'; // n = 7
tuccio` è offline   Rispondi citando il messaggio o parte di esso
Old 24-09-2010, 19:27   #3
ValerioHD
Bannato
 
Iscritto dal: Sep 2010
Messaggi: 42
Non ho capito bene... Potresti farmi vedere il codice di un programmino semplice che ti "scompone" il numero.. per esempio se scrivo 154 lui mi scrive il numero è composto da 1 5 4.. te ne sarei grato.. grazie ancora!
ValerioHD è offline   Rispondi citando il messaggio o parte di esso
Old 24-09-2010, 20:01   #4
DanieleC88
Senior Member
 
L'Avatar di DanieleC88
 
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
È matematica: i numeri vengono rappresentati con una notazione posizionale, ovvero, le cifre hanno un "peso" che dipende dalla loro posizione nella rappresentazione tipografica del numero.

Ad esempio: 123 = 1·100 + 2·10 + 3·1 = 1·10² + 2·10¹ + 3·10⁰.
Se tu prendi un numero come 123 e lo dividi per la base (tipicamente, 10) in cui è rappresentato, questo diventerà:
⎣123 / 10⎦ =
⎣(1·10² + 2·10¹ + 3·10⁰) · 10⁻¹⎦ =
⎣1·10²⁻¹ + 2·10¹⁻¹ + 3·10⁰⁻¹⎦ =
⎣1·10¹ + 2·10⁰ + 3·10⁻¹⎦.
La cifra 3·10⁻¹ diventa parte frazionaria e va quindi persa con l'arrotondamento (sono numeri interi!), ed il numero quindi diventa 12.
Il resto della divisione del numero per la base, invece, ti darà proprio questa parte andata persa, cioè 3.

In questo modo vedi subito che, se parti da un numero intero n, il resto della divisione intera tra n e 10 ti "estrapola" l'ultima cifra del numero, mentre il risultato della divisione intera tra n e 10 ti "elimina" dal numero l'ultima cifra appena estratta.
Se ripeti questo procedimento fino ad avere n = 0, avrai estratto tutte le cifre, una alla volta. Attento all'ordine, però: questo procedimento estrae le cifre "da destra a sinistra".

ciao
__________________

C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai!
DanieleC88 è offline   Rispondi citando il messaggio o parte di esso
Old 24-09-2010, 20:17   #5
ValerioHD
Bannato
 
Iscritto dal: Sep 2010
Messaggi: 42
ho capito cosa intendi.. ma il problema non è numerico... ma riguarda il c++.. ovvero non so come leggere una singola lettera contenuta in una parola... per esempio mi servirebbe un programma che se io scrivo la parola "ciao" lui mi dica che la terza lettera è la "a" non so se mi spiego...
ValerioHD è offline   Rispondi citando il messaggio o parte di esso
Old 24-09-2010, 21:18   #6
tuccio`
Senior Member
 
Iscritto dal: Apr 2010
Città: Frosinone
Messaggi: 416
sul serio, ti serve un buon libro di programmazione
tuccio` è offline   Rispondi citando il messaggio o parte di esso
Old 24-09-2010, 21:29   #7
ValerioHD
Bannato
 
Iscritto dal: Sep 2010
Messaggi: 42
si lo so.. comunque mi potresti fare un programma esempio?? uno semplice..
ValerioHD è offline   Rispondi citando il messaggio o parte di esso
Old 24-09-2010, 21:31   #8
Supdario
Member
 
Iscritto dal: Mar 2008
Messaggi: 267
Quote:
Originariamente inviato da ValerioHD Guarda i messaggi
ho capito cosa intendi.. ma il problema non è numerico... ma riguarda il c++.. ovvero non so come leggere una singola lettera contenuta in una parola... per esempio mi servirebbe un programma che se io scrivo la parola "ciao" lui mi dica che la terza lettera è la "a" non so se mi spiego...
printf("%c",stringa[2]);
Supdario è offline   Rispondi citando il messaggio o parte di esso
Old 24-09-2010, 21:48   #9
ValerioHD
Bannato
 
Iscritto dal: Sep 2010
Messaggi: 42
Quote:
Originariamente inviato da Supdario Guarda i messaggi
printf("%c",stringa[2]);
ESATTAMENTE QUELLO CHE CERCAVO! Grazie!!
ValerioHD è offline   Rispondi citando il messaggio o parte di esso
Old 24-09-2010, 22:03   #10
DanieleC88
Senior Member
 
L'Avatar di DanieleC88
 
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
Be', ipotizzando che la parola sia conservata in una stringa, allora ti basta accedervi con le parentesi quadre:

Codice:
string s("ciao");
cout << "La terza lettera è: " << s[2] << endl;
L'indice che usi tra le parentesi quadre rappresenta uno scostamento dall'inizio della stringa. Se tu volessi accedere al primo carattere della stringa non dovresti scostarti di nessuna posizione, quindi l'indice sarebbe 0; per il terzo carattere l'indice sarà 2 proprio perché devi spostarti in avanti di due posizioni.

ciao

EDIT: LOL, ormai avevate finito la discussione senza di me e la pagina di modifica era rimasta aperta per più di un'ora... vabbe', lascio comunque il messaggio.
__________________

C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai!

Ultima modifica di DanieleC88 : 24-09-2010 alle 22:05.
DanieleC88 è offline   Rispondi citando il messaggio o parte di esso
Old 24-09-2010, 23:49   #11
ValerioHD
Bannato
 
Iscritto dal: Sep 2010
Messaggi: 42
un altra cosa.. come faccio ad aggiungere al valore che prendo un numero per esempio se prendo 10 come faccio ad aggiungergli 5? ho provato ma mi dei risultati strani..
ValerioHD è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Tastiera gaming MSI GK600 TKL: switch hot-swap, display LCD e tre modalità wireless Tastiera gaming MSI GK600 TKL: switch hot-swap, ...
DJI Osmo Pocket 4: la gimbal camera tascabile cresce e ha nuovi controlli fisici DJI Osmo Pocket 4: la gimbal camera tascabile cr...
Sony INZONE H6 Air: il primo headset open-back di Sony per giocatori Sony INZONE H6 Air: il primo headset open-back d...
Nutanix cambia pelle: dall’iperconvergenza alla piattaforma full stack per cloud ibrido e IA Nutanix cambia pelle: dall’iperconvergenza alla ...
Recensione Xiaomi Pad 8 Pro: potenza bruta e HyperOS 3 per sfidare la fascia alta Recensione Xiaomi Pad 8 Pro: potenza bruta e Hyp...
Una denuncia getta ombre sulle batterie ...
DJI Avata 2 Fly Smart Combo a 526€: il d...
Alla guida della nuova auto elettrica ci...
GeForce RTX 3060 12 GB a giugno di nuovo...
Apple Music sarà sponsor ufficiale di Po...
The Mandalorian & Grogu: trailer fin...
Fedeltà record: Apple blinda gli utenti,...
Volkswagen ID.3 Neo: fino a 630 km di au...
GPU-Z mette i dati personali a rischio? ...
La PS6 potrebbe essere retrocompatibile ...
Amazfit Cheetah 2 Pro arriva in Italia: ...
Duolingo ammette l'errore dopo un anno: ...
Samsung Galaxy Tab S10 Lite a 249€: il t...
Samsung Micro RGB: la rivoluzione del co...
Sempre più autonomia per gli smar...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 16:47.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v