Torna indietro   Hardware Upgrade Forum > Software > Programmazione

L'Europa conta nella tecnologia e può essere autonoma. Cosa si è detto al Nextcloud Summit 2026
L'Europa conta nella tecnologia e può essere autonoma. Cosa si è detto al Nextcloud Summit 2026
La parola d'ordine al Nextcloud Summit 2026, che si è tenuto a Monaco, è stata "sovranità". Non come è spesso usato questo termine in politica ma, al contrario, come capacità positiva di decidere il proprio destino tecnologico, con modalità collaborative e aperte. L'Europa dice già molto nel mondo open source, che viene visto come mezzo per ottenere la tanto agognata autonomia digitale
Dreame X60 Pro Ultra Complete: i bracci si estendono sempre di più
Dreame X60 Pro Ultra Complete: i bracci si estendono sempre di più
Dreame X60 Pro Ultra Complete implementa due bracci estensibili, per spazzola e moccio, che si spingono ben oltre quanto visto sino ad oggi permettendo una pulizia di casa ancor più capillare e precisa
TCL 65C8L, la recensione del SQD-Mini LED da 4400 nit misurati
TCL 65C8L, la recensione del SQD-Mini LED da 4400 nit misurati
La tecnologia SQD-Mini LED di TCL arriva sul taglio da 65 pollici con la serie C8L: 2040 zone, pannello WHVA 2.0 e un picco che alle rilevazioni delle sonde tocca i 4400 nit nel profilo Filmmaker e un HDR quasi perfetto
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 05-06-2008, 15:28   #1
RagingBull
Member
 
L'Avatar di RagingBull
 
Iscritto dal: Oct 2006
Città: Bari
Messaggi: 238
[C++] - posizionare le cifre di un intero in un array

ciao a tutti,

mi sto avvicinando al c++ e volevo sapere come è possibile trasformare un dato di tipo integer in un array. ad esempio:

int cifra;
int arr[3];

cifra=123;

dopo la conversione dovrei ottenere come risultato:

arr[0] = 1;
arr[1] = 2;
arr[2] = 3;

grazie anticipatamente per l'aiuto!
RagingBull è offline   Rispondi citando il messaggio o parte di esso
Old 05-06-2008, 15:55   #2
RagingBull
Member
 
L'Avatar di RagingBull
 
Iscritto dal: Oct 2006
Città: Bari
Messaggi: 238
uhm....quindi esempio pratico col mio 123 verrebbe:

123/100=1

(123-(123/100)*100)/10=2

(123-(123/10)*100)/10=3

di volta in volta poi le prendo e le metto nell'array...quando si dice la soluzione più semplice e non ci si arriva

ti ringrazio!
RagingBull è offline   Rispondi citando il messaggio o parte di esso
Old 05-06-2008, 17:09   #3
gugoXX
Senior Member
 
L'Avatar di gugoXX
 
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
Io passerei dalla rappresentazione in stringa ottenuta con la funzione
itoa
che mi sembra piu' esente da errori che moduli divisioni etc.
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto.
E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test.
gugoXX è offline   Rispondi citando il messaggio o parte di esso
Old 05-06-2008, 17:34   #4
RagingBull
Member
 
L'Avatar di RagingBull
 
Iscritto dal: Oct 2006
Città: Bari
Messaggi: 238
si, in effetti "giocando" con le operazioni mi sono reso conto che i controlli da fare sono parecchi.

esattamente qual'è la sintassi per la funzione itoa? molto probabilmente vado a risparmiare parecchie righe di codice.
RagingBull è offline   Rispondi citando il messaggio o parte di esso
Old 05-06-2008, 17:43   #5
gugoXX
Senior Member
 
L'Avatar di gugoXX
 
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
Le sintassi delle funzioni le trovi anche con google...
Comunque la itoa non e' standard. Anche se ce l'hanno tutti i compilatori che ho incontrato.
Al limite, dato che usi proprio la base 10, andrebbe altrettanto bene sprintf


itoa(valore,stringa,base)

Codice:
char stringa[8]; // stringa destinazione. E' lunga abbastanza?
// Per gli interi senza segno 8 basta

//Qui ti ritrovi la stringa riempita.
itoa(valore,stringa,10);

int risultato[8];

for (int t=0;t<8;t++)
{
   char carattere=stringa[t];
   if (carattere==0) break;
   // Per passare da un carattere che contiene un numero
   //   alla sua rappresentazione decimale
   //   e' sufficiente sottrarre '0'. 
   risultato[t]=(int)(carattere - '0');
}

Giusto come paragone in C# (ma anche in Python non e' tanto diverso), la stessa cosa diventa cosi'

Codice:
    int valore = 5885;
    var risultato = valore.ToString().ToCharArray().Select(u => u-'0');
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto.
E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test.

Ultima modifica di gugoXX : 05-06-2008 alle 17:52. Motivo: C# ext
gugoXX è offline   Rispondi citando il messaggio o parte di esso
Old 05-06-2008, 18:00   #6
RagingBull
Member
 
L'Avatar di RagingBull
 
Iscritto dal: Oct 2006
Città: Bari
Messaggi: 238
perfetto, la provo subito!

grazie ancora!!!
RagingBull è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


L'Europa conta nella tecnologia e può essere autonoma. Cosa si è detto al Nextcloud Summit 2026 L'Europa conta nella tecnologia e può ess...
Dreame X60 Pro Ultra Complete: i bracci si estendono sempre di più Dreame X60 Pro Ultra Complete: i bracci si esten...
TCL 65C8L, la recensione del SQD-Mini LED da 4400 nit misurati TCL 65C8L, la recensione del SQD-Mini LED da 440...
MSI Maestro 500 Wireless: ANC e 90 ore di autonomia a 70 euro MSI Maestro 500 Wireless: ANC e 90 ore di autono...
NL-LC1 è il primo dissipatore a liquido AIO di Noctua: silenzio è la parola d'ordine NL-LC1 è il primo dissipatore a liquido A...
THQ Nordic conferma il ritorno del Digit...
Fai da te: sconti spettacolari per Bosch...
Questo HP Victus abbassa la soglia dei p...
Microsoft 365 Family scende a 79€ per il...
Polymarket ha pagato influencer per pubb...
LG OLED evo AI G5, C5, B5 e nuova Serie ...
Windows 11 si aggiorna con una nuova mod...
Nuovo incidente su LastPass: esposti, an...
realme P4x, la recensione: il battery ph...
Meno promozioni sull'hardware e focus su...
IBM entra nel programma Daybreak di Open...
Come sfruttare il Prime Day per potenzia...
Ferrari cambia il responsabile marketing...
Meta lancia Adventurer e Fury: due model...
I 10 prodotti più venduti del Pri...
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: 11:20.


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