|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
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++
}
__________________
"L' amore è l'unica cosa che possiamo percepire che trascende il tempo e lo spazio." Ultima modifica di Grein : 26-02-2012 alle 02:33. |
|
|
|
|
|
#2 |
|
Senior Member
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
Ultima modifica di Tommo : 26-02-2012 alle 22:07. |
|
|
|
|
|
#3 |
|
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 :\
|
|
|
|
|
|
#4 |
|
Member
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;
}
__________________
"L' amore è l'unica cosa che possiamo percepire che trascende il tempo e lo spazio." Ultima modifica di Grein : 26-02-2012 alle 19:41. |
|
|
|
|
|
#5 | |
|
Senior Member
Iscritto dal: Feb 2006
Messaggi: 1304
|
Quote:
Come non detto, non uso cin da secoli
|
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 08:34.





















