Torna indietro   Hardware Upgrade Forum > Software > Programmazione

realme 16 Pro Harry Potter Edition: il nuovo midrange ha uno stemma di Hogwarts che cambia colore al sole!
realme 16 Pro Harry Potter Edition: il nuovo midrange ha uno stemma di Hogwarts che cambia colore al sole!
Hogwarts arriva in fascia media grazie a realme, con una special edition che unisce la Quadra Light-Sensing Color-changing Tech, un baule in stile Hogwarts Express pieno di collezionabili e una scheda tecnica sostanzialmente identica al 16 Pro di partenza: ecco cosa cambia davvero, come si comporta nell'uso quotidiano e quanto vale in base al prezzo di 699,99 euro
Recensione REDMI Note 17 Pro: il midrange con batteria da 8.340 mAh e ricarica veloce
Recensione REDMI Note 17 Pro: il midrange con batteria da 8.340 mAh e ricarica veloce
REDMI Note 17 Pro porta in fascia media una batteria da 8.340 mAh con ricarica HyperCharge a 67W, un display AMOLED da 6,83 pollici capace di picchi di luminosità molto elevati e una struttura certificata TÜV SÜD contro cadute e infiltrazioni d'acqua, il tutto racchiuso in una scocca da 223 grammi. Lo abbiamo provato per diversi giorni tra fotocamera, prestazioni, autonomia e prezzo sul mercato italiano
Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema
Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema
Insta360 Luna Ultra integra un sensore da 1 pollice 8K, ottiche Leica e triplo chip IA. Tra schermo OLED rimovibile, workflow I-Log a 10 bit e stabilizzazione a tre assi, analizziamo le doti tecniche di una gimbal camera pensata per i professionisti
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 26-02-2012, 01:29   #1
Grein
Member
 
L'Avatar di Grein
 
Iscritto dal: Dec 2009
Messaggi: 284
[C++] Lettura variabili

Ciao ragazzi, qualcuno conosce un metodo per leggere in sequenza N elementi senza prima aver letto N?
Per rendermi più chiaro, se io voglio leggere N elementi faccio così no:
Codice:
int i=0, intero;
cin>>N;
while (i<N){
  cin>>intero;
  i++
}
Avevo sentito che potrei usare un carattere di terminazione ma la mia idea era di inserire in sequenza gli elementi separati da spazi (Es. 1 6 3 6 78) e usare l'invio della tastiera come segnale di terminazione della sequenza, si può fare?
__________________
"L' amore è l'unica cosa che possiamo percepire che trascende il tempo e lo spazio."

Ultima modifica di Grein : 26-02-2012 alle 01:33.
Grein è offline   Rispondi citando il messaggio o parte di esso
Old 26-02-2012, 01:50   #2
Tommo
Senior Member
 
L'Avatar di Tommo
 
Iscritto dal: Feb 2006
Messaggi: 1304
Ovviamente si, ti basta usare "cin" su una stringa, che conterrà l'input "1 6 3 6 78".
A quel punto scrivi un piccolo parser per separare i numeri e convertirli in interi

EDIT: no in realtà non funziona
__________________
*ToMmO*

devlog | twitter

Ultima modifica di Tommo : 26-02-2012 alle 21:07.
Tommo è offline   Rispondi citando il messaggio o parte di esso
Old 26-02-2012, 10:14   #3
cifa
Member
 
Iscritto dal: Sep 2007
Messaggi: 59
Sono alle prime armi con il C++ quindi forse dico minchiate, ma il cin hon termina la lettura dopo lo spazio ? Il mio libro usa in questi casi getline per avere una stringa con tanto di spazi :\
cifa è offline   Rispondi citando il messaggio o parte di esso
Old 26-02-2012, 18:35   #4
Grein
Member
 
L'Avatar di Grein
 
Iscritto dal: Dec 2009
Messaggi: 284
Io sono arrivato a fare questo:


Codice:
int number_sequenze(int count, int vett[]){
       
       //rado al suolo il vettore                
       for (int i = 0; i < count; i += 1)
               vett[i]=0;
       
       string str;
       int i=0;
       bool inserisci = false;
       bool stop = false;
       int x;
       
       //inizio ciclo
       while (!stop)
       {
               //legge solo un carattere dalla tastiera e lo piazza in c
               char c = cin.get(); 
               //controlla se c è un numero
               if(c >= '0' && c<= '9' ){ 
                       //incolla c nell'oggetto str della classe stringa 
                       str.push_back(c); 
                       inserisci = true;
               }
               //se il carattere è spazio o capo
               else if (c == ' ' || c == '\n'){ 
                       //trasforma una stringa contenente numeri in numeri
                       x = atoi(str.c_str()); 
                       if (c == '\n')
                               stop = true;
                       else if (i<count)
                               if(inserisci){
                                       inserisci = false;
                                       vett[i] = x;
                                       i++;
                                       str.erase();
                               }                        
               }
       }
       if(i<count){
               vett[i] = x;
               if(inserisci )
                       i++;
       }
       return i;
}
solo che non funzia con le variabili a virgola mobile, qualcuno ha qualche idea?
__________________
"L' amore è l'unica cosa che possiamo percepire che trascende il tempo e lo spazio."

Ultima modifica di Grein : 26-02-2012 alle 18:41.
Grein è offline   Rispondi citando il messaggio o parte di esso
Old 26-02-2012, 21:06   #5
Tommo
Senior Member
 
L'Avatar di Tommo
 
Iscritto dal: Feb 2006
Messaggi: 1304
Quote:
Originariamente inviato da cifa Guarda i messaggi
Sono alle prime armi con il C++ quindi forse dico minchiate, ma il cin hon termina la lettura dopo lo spazio ? Il mio libro usa in questi casi getline per avere una stringa con tanto di spazi :\
Ma lo sai che hai ragione
Come non detto, non uso cin da secoli
__________________
*ToMmO*

devlog | twitter
Tommo è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


realme 16 Pro Harry Potter Edition: il nuovo midrange ha uno stemma di Hogwarts che cambia colore al sole! realme 16 Pro Harry Potter Edition: il nuovo mid...
Recensione REDMI Note 17 Pro: il midrange con batteria da 8.340 mAh e ricarica veloce Recensione REDMI Note 17 Pro: il midrange con ba...
Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema Insta360 Luna Ultra: la potenza del sensore da 1...
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Amazon dichiara guerra agli agenti AI: d...
Controller Wireless Xbox a 48,99€ invece...
Monitor ASUS TUF a 99€: Fast IPS da 24,5...
Google rompe una regola vecchia 15 anni ...
Internet Explorer non è ancora mo...
Moto Buds 2 crollano a 39,14€ invece di ...
I cheat valgono più di Call of Du...
7 smartphone in offerta su Amazon: Samsu...
Dreame L40 Ultra A costa 329€ su Amazon:...
AMD ha superato per la prima volta i 1.0...
Raspberry Pi: stop agli hack sulla RAM, ...
Più sottile di un capello, resist...
28 offerte Amazon da non perdere: e-bike...
'Il rapporto con Sony è rimasto f...
Vision AI Upscaling e Micro RGB AI Engin...
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: 08:02.


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