Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Gigabyte MO32U24 OLED: il 4K a 240Hz su un pannello OLED ideale per il gaming
Gigabyte MO32U24 OLED: il 4K a 240Hz su un pannello OLED ideale per il gaming
Pannello QD-OLED da 32 pollici con risoluzione 4K, frequenza di aggiornamento a 240Hz e tempi di risposta rapidissimi: il Gigabyte MO32U24 evolve il progetto del suo predecessore MO32U e alza ulteriormente l'asticella delle prestazioni. È ancora una volta un monitor indirizzato ai giocatori più esigenti
Recensione realme 16 5G: lo smartphone con Selfie Mirror ha una batteria da 6550mAh
Recensione realme 16 5G: lo smartphone con Selfie Mirror ha una batteria da 6550mAh
realme 16 5G è un nuovo smartphone con sensore Sony IMX 852 da 50MP sul retro e uno specchio selfie fisico integrato nella camera bar, una prima nel segmento di mercato. Batteria da 6550mAh in un corpo da 8,1mm e 183g, certificazione IP69K e ricarica da 45W completano un pacchetto aggressivo per la fascia media, per uno dei prodotti più interessanti del produttore sul piano commerciale
Come rispettare tutte le nuove regole per i monopattini elettrici? La guida per non rischiare sanzioni
Come rispettare tutte le nuove regole per i monopattini elettrici? La guida per non rischiare sanzioni
Sono ormai definitive le nuove norme del Codice della Strada per i monopattini elettrici. Non solo targa e assicurazione, le regole sono tante e riguardano diversi aspetti, vi spieghiamo come evitare sanzioni che possono essere salate
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 10-04-2010, 18:54   #1
Vandir
Senior Member
 
L'Avatar di Vandir
 
Iscritto dal: Nov 2008
Messaggi: 783
[C++] Aiuto per comandi base c++

Salve a tutti, sono uno studente che si cimenta con del c++ base per la scuola, e avrei bisogno di aiuto per una cosa:
ho un programma in cui chiedo di inserire in input n righe di max 80 cifre che andranno lette singolarmente (quindi 0991 sarà letto come "0" "9" "9" "1") per essere inserite in diversi vettori, ma non so come fare a capire quando finisce la riga per poter chiudere il vettore relativo
Qualche anima buona potrebbe scrivere (o ancora meglio indicare un sito in cui trovare) i comandi necessari?
Grazie mille
__________________
O.S. Windows 10 x64 MB Asus P5Q Pro Sheda Video GTX 670 RamTeam Group Elite DDR2 800 8 Gb Case Middle Tower ATX CE CPU Intel Core 2 Quad Q9559 2.83Ghz Ali KRAUN p600atx
HDD Evo840 250 Gb + 2 X 500Gb Western Digital Caviar Blue (RAID 0) Monitor SyncMaster 2032 BW
Vandir è offline   Rispondi citando il messaggio o parte di esso
Old 10-04-2010, 20:22   #2
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Per chiudere le stringhe devi usare il carattere '\0'.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 11-04-2010, 00:41   #3
fero86
Senior Member
 
Iscritto dal: Oct 2006
Città: Roma
Messaggi: 1383
Quote:
Originariamente inviato da Vandir Guarda i messaggi
Salve a tutti, sono uno studente che si cimenta con del c++ base per la scuola, e avrei bisogno di aiuto per una cosa:
ho un programma in cui chiedo di inserire in input n righe di max 80 cifre che andranno lette singolarmente (quindi 0991 sarà letto come "0" "9" "9" "1") per essere inserite in diversi vettori, ma non so come fare a capire quando finisce la riga per poter chiudere il vettore relativo
Qualche anima buona potrebbe scrivere (o ancora meglio indicare un sito in cui trovare) i comandi necessari?
Grazie mille
usa la funzione globale getline: http://www.cplusplus.com/reference/string/getline/

puoi usare la versione senza la specifica del delimitatore.

esempio (non testato):
Codice:
#include <iostream>
#include <string>
#include <vector>
using namespace std;

int main() {
	unsigned int cLines;
	cin >> cLines;
	vector<string> astr;
	while (cLines--) {
		string str;
		getline(cin, str);
		astr.push_back(str);
	}
	return 0;
}

PS: il limite degli 80 caratteri é un dato superfluo, in C++ puoi scrivere molto facilmente programmi sicuri che gestiscono input di dimensioni arbitrarie
fero86 è offline   Rispondi citando il messaggio o parte di esso
Old 11-04-2010, 10:49   #4
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Lui deve leggere un carattere alla volta a quanto sembra
In effetti anche io avevo letto male.. Per capire quando si chiude la riga...dipende un po' da cosa usi per fare la lettura carattere per carattere.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 11-04-2010, 11:23   #5
Vandir
Senior Member
 
L'Avatar di Vandir
 
Iscritto dal: Nov 2008
Messaggi: 783
Quote:
Originariamente inviato da cionci Guarda i messaggi
Lui deve leggere un carattere alla volta a quanto sembra
In effetti anche io avevo letto male.. Per capire quando si chiude la riga...dipende un po' da cosa usi per fare la lettura carattere per carattere.
Scusate forse mi sono spiegato male
Io ho un file txt in input di cui è specificato il numero n di righe da leggere ma non conosco il numero di caratteri da leggere per ciascuna riga, e volevo salvare ciascuna cifra in una matrice di tipo "cifra[i][j]", in cui "i" indica la riga di appartenenza e "j" la posizione della cifra nella sequenza, ma non so come fare a capire quante cifre sono presenti in ciascuna riga
Non avevo mai fatto un programma in cui non conoscevo il numero di dati in input, quindi mi servirebbe il modo di capire quando termina una riga di caratteri così da poter catalogare ciascuna cifra nella posizione giusta nella matrice
Mi potete illuminare? Grazie mille
__________________
O.S. Windows 10 x64 MB Asus P5Q Pro Sheda Video GTX 670 RamTeam Group Elite DDR2 800 8 Gb Case Middle Tower ATX CE CPU Intel Core 2 Quad Q9559 2.83Ghz Ali KRAUN p600atx
HDD Evo840 250 Gb + 2 X 500Gb Western Digital Caviar Blue (RAID 0) Monitor SyncMaster 2032 BW

Ultima modifica di Vandir : 11-04-2010 alle 11:26.
Vandir è offline   Rispondi citando il messaggio o parte di esso
Old 11-04-2010, 11:34   #6
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Ma sei obbligato a leggere un carattere alla volta o puoi leggere tutta la riga ?
Quale istruzioni usi per la lettura ?
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 11-04-2010, 13:09   #7
Vandir
Senior Member
 
L'Avatar di Vandir
 
Iscritto dal: Nov 2008
Messaggi: 783
Quote:
Originariamente inviato da cionci Guarda i messaggi
Ma sei obbligato a leggere un carattere alla volta o puoi leggere tutta la riga ?
Quale istruzioni usi per la lettura ?
Posso leggere come mi pare, però bisogna tenere conto che non posso leggere le n righe come numeri dato che se c'è uno 0 all'inizio della riga non penso che verrebbe registrato...
Per la lettura uso istruzioni del genere:
Codice:
#include <fstream>

      ifstream it;
      it.open("input.txt");
      it >> n;
      for (int i=0; i<n; i++)
           it >> num[i];
      it.close();
__________________
O.S. Windows 10 x64 MB Asus P5Q Pro Sheda Video GTX 670 RamTeam Group Elite DDR2 800 8 Gb Case Middle Tower ATX CE CPU Intel Core 2 Quad Q9559 2.83Ghz Ali KRAUN p600atx
HDD Evo840 250 Gb + 2 X 500Gb Western Digital Caviar Blue (RAID 0) Monitor SyncMaster 2032 BW
Vandir è offline   Rispondi citando il messaggio o parte di esso
Old 11-04-2010, 16:28   #8
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Allora leggi con getline, come ti aveva suggerito fero86
Leggi una riga alla volta e la metti una string. Da lì in poi puoi usare qualsiasi metodo per convertire la stringa in numeri.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 11-04-2010, 20:35   #9
Vandir
Senior Member
 
L'Avatar di Vandir
 
Iscritto dal: Nov 2008
Messaggi: 783
Quote:
Originariamente inviato da cionci Guarda i messaggi
Allora leggi con getline, come ti aveva suggerito fero86
Leggi una riga alla volta e la metti una string. Da lì in poi puoi usare qualsiasi metodo per convertire la stringa in numeri.
Grazie mille appena posso proverò (adesso mi sto preparando per una verifica di biologia)
Comunque grazie mille
__________________
O.S. Windows 10 x64 MB Asus P5Q Pro Sheda Video GTX 670 RamTeam Group Elite DDR2 800 8 Gb Case Middle Tower ATX CE CPU Intel Core 2 Quad Q9559 2.83Ghz Ali KRAUN p600atx
HDD Evo840 250 Gb + 2 X 500Gb Western Digital Caviar Blue (RAID 0) Monitor SyncMaster 2032 BW
Vandir è offline   Rispondi citando il messaggio o parte di esso
Old 12-04-2010, 17:38   #10
Vandir
Senior Member
 
L'Avatar di Vandir
 
Iscritto dal: Nov 2008
Messaggi: 783
Ho visto la funzione getline, ma non so se è quello che mi serve...
Da quello che ho capito ti salva una riga in una stringa, ma mi servirebbe anche capire quanto è lunga la stringa, poichè dopo dovrei andare ad esaminare i caratteri uno a uno e non ho idea di come fermarmi quando raggiungo la fine della stringa (non lavoro molto con le stringhe quindi non so come funzionino )
Grazie
__________________
O.S. Windows 10 x64 MB Asus P5Q Pro Sheda Video GTX 670 RamTeam Group Elite DDR2 800 8 Gb Case Middle Tower ATX CE CPU Intel Core 2 Quad Q9559 2.83Ghz Ali KRAUN p600atx
HDD Evo840 250 Gb + 2 X 500Gb Western Digital Caviar Blue (RAID 0) Monitor SyncMaster 2032 BW
Vandir è offline   Rispondi citando il messaggio o parte di esso
Old 12-04-2010, 17:59   #11
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Bastano i metodi size e lenght: http://www.cplusplus.com/reference/string/string/
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 12-04-2010, 18:23   #12
Vandir
Senior Member
 
L'Avatar di Vandir
 
Iscritto dal: Nov 2008
Messaggi: 783
Giusto, grazie mille siete stati utilissimi
__________________
O.S. Windows 10 x64 MB Asus P5Q Pro Sheda Video GTX 670 RamTeam Group Elite DDR2 800 8 Gb Case Middle Tower ATX CE CPU Intel Core 2 Quad Q9559 2.83Ghz Ali KRAUN p600atx
HDD Evo840 250 Gb + 2 X 500Gb Western Digital Caviar Blue (RAID 0) Monitor SyncMaster 2032 BW
Vandir è offline   Rispondi citando il messaggio o parte di esso
Old 13-04-2010, 14:34   #13
Vandir
Senior Member
 
L'Avatar di Vandir
 
Iscritto dal: Nov 2008
Messaggi: 783
Ho ancora un piccolo problema: provo ad usare la libreria string ma quando provo a creare una variabile globale di tipo string mi dice che non è dichiarato il tipo di variabile...
Possibile che manchi la libreria delle string? Come dev uso "wxDev-c++", posso rimediare scaricando da qualche parte la libreria o faccio prima a scaricare un altro dev?
__________________
O.S. Windows 10 x64 MB Asus P5Q Pro Sheda Video GTX 670 RamTeam Group Elite DDR2 800 8 Gb Case Middle Tower ATX CE CPU Intel Core 2 Quad Q9559 2.83Ghz Ali KRAUN p600atx
HDD Evo840 250 Gb + 2 X 500Gb Western Digital Caviar Blue (RAID 0) Monitor SyncMaster 2032 BW
Vandir è offline   Rispondi citando il messaggio o parte di esso
Old 13-04-2010, 14:40   #14
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
Non è che ti manca:
Codice:
#include <string>
?
tomminno è offline   Rispondi citando il messaggio o parte di esso
Old 13-04-2010, 16:07   #15
Vandir
Senior Member
 
L'Avatar di Vandir
 
Iscritto dal: Nov 2008
Messaggi: 783
No no, l'ho provato a scuola e me lo compila senza problemi, se lo compilo a casa mi da quest'errore...
P.S. ho risolto mettendo la variabile come char invece che come string, adesso provo a risolvere l'esercizio per vedere se va bene

Comunque mi servirebbe capire perchè non riesco ad usare le string...

EDIT: adesso che ci penso mi sa che già a scuola avevo messo char, quindi non sono sicuro che non sia un errore dell'esercizio, ma non capisco cosa possa essere...
__________________
O.S. Windows 10 x64 MB Asus P5Q Pro Sheda Video GTX 670 RamTeam Group Elite DDR2 800 8 Gb Case Middle Tower ATX CE CPU Intel Core 2 Quad Q9559 2.83Ghz Ali KRAUN p600atx
HDD Evo840 250 Gb + 2 X 500Gb Western Digital Caviar Blue (RAID 0) Monitor SyncMaster 2032 BW

Ultima modifica di Vandir : 13-04-2010 alle 17:03.
Vandir è offline   Rispondi citando il messaggio o parte di esso
Old 13-04-2010, 18:09   #16
Vandir
Senior Member
 
L'Avatar di Vandir
 
Iscritto dal: Nov 2008
Messaggi: 783
Scusate ragazzi se faccio un up ma domani ho una gara regionale, e visto che non ho quasi mai usato le stringhe mi servirebbe capire perchè non riesco ad usarle
Io le includo, ma quando creo una variabile string mi dà errore nella compilazione...
Oppure qualche anima buona potrebbe dirmi come fare a contare i caratteri di una stringa di caratteri salvata come char (char[i])?

EDIT: facendo qualche esperimento mi è venuto un dubbio: non è che ho bisogno di "using namespace std" per far andare le stringhe?
__________________
O.S. Windows 10 x64 MB Asus P5Q Pro Sheda Video GTX 670 RamTeam Group Elite DDR2 800 8 Gb Case Middle Tower ATX CE CPU Intel Core 2 Quad Q9559 2.83Ghz Ali KRAUN p600atx
HDD Evo840 250 Gb + 2 X 500Gb Western Digital Caviar Blue (RAID 0) Monitor SyncMaster 2032 BW

Ultima modifica di Vandir : 13-04-2010 alle 18:19.
Vandir è offline   Rispondi citando il messaggio o parte di esso
Old 13-04-2010, 18:27   #17
fero86
Senior Member
 
Iscritto dal: Oct 2006
Città: Roma
Messaggi: 1383
per chiarezza, posta i sorgenti e dicci la riga a cui da' il primo errore di compilazione, nonché l'errore che da'.
il sorgente che ti ho scritto io al post #3 comunque non ti puó essere utile? hai provato a compilarlo?
fero86 è offline   Rispondi citando il messaggio o parte di esso
Old 13-04-2010, 18:36   #18
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
Quote:
Originariamente inviato da Vandir Guarda i messaggi
Scusate ragazzi se faccio un up ma domani ho una gara regionale, e visto che non ho quasi mai usato le stringhe mi servirebbe capire perchè non riesco ad usarle
Io le includo, ma quando creo una variabile string mi dà errore nella compilazione...
Oppure qualche anima buona potrebbe dirmi come fare a contare i caratteri di una stringa di caratteri salvata come char (char[i])?

EDIT: facendo qualche esperimento mi è venuto un dubbio: non è che ho bisogno di "using namespace std" per far andare le stringhe?
Eh beh se domani hai una gara e non sai queste cose basilari sei messo bene!
Forse era il caso di studiare un pochino per tempo.

Non hai mai postato il tuo codice, è difficile tirare ad indovinare cosa potresti aver sbagliato, non ti pare?

Eppure ti erano stati riportati degli esempi completi, con tanto di include e using.
tomminno è offline   Rispondi citando il messaggio o parte di esso
Old 13-04-2010, 18:54   #19
Vandir
Senior Member
 
L'Avatar di Vandir
 
Iscritto dal: Nov 2008
Messaggi: 783
Quote:
Originariamente inviato da tomminno Guarda i messaggi
Eh beh se domani hai una gara e non sai queste cose basilari sei messo bene!
Forse era il caso di studiare un pochino per tempo.

Non hai mai postato il tuo codice, è difficile tirare ad indovinare cosa potresti aver sbagliato, non ti pare?

Eppure ti erano stati riportati degli esempi completi, con tanto di include e using.
Ho trovato solo domenica questo esercizio con le stringhe, che in c++ non avevo mai usato (nelle gare che faccio io non ci sono mai state)...
Comunque era solo quello il problema, bisognava aggiungere using, adesso fila liscio, grazie mille
__________________
O.S. Windows 10 x64 MB Asus P5Q Pro Sheda Video GTX 670 RamTeam Group Elite DDR2 800 8 Gb Case Middle Tower ATX CE CPU Intel Core 2 Quad Q9559 2.83Ghz Ali KRAUN p600atx
HDD Evo840 250 Gb + 2 X 500Gb Western Digital Caviar Blue (RAID 0) Monitor SyncMaster 2032 BW
Vandir è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Gigabyte MO32U24 OLED: il 4K a 240Hz su un pannello OLED ideale per il gaming Gigabyte MO32U24 OLED: il 4K a 240Hz su un panne...
Recensione realme 16 5G: lo smartphone con Selfie Mirror ha una batteria da 6550mAh Recensione realme 16 5G: lo smartphone con Selfi...
Come rispettare tutte le nuove regole per i monopattini elettrici? La guida per non rischiare sanzioni Come rispettare tutte le nuove regole per i mono...
DLSS 4.5: con Dynamic Frame Generation e MFG 6X NVIDIA alza la posta DLSS 4.5: con Dynamic Frame Generation e MFG 6X ...
Plaud NotePin S, il registratore IA si fa indossabile (ma è facile da perdere) Plaud NotePin S, il registratore IA si fa indoss...
Deezer ha rilasciato un tool gratuito pe...
AMD Ryzen 9 7950X3D danneggiato: approva...
I Mac con chip Apple Silicon hanno meno ...
Scandalo nel Regno Unito: agente sotto i...
TOP 15 offerte Amazon del weekend: 10 tu...
DJI Neo Fly More Combo a 245€: il mini d...
JBL Live Beam 3 a 129€ invece di 199€ su...
L'FBI ha costruito una città segr...
AMD usa il MacBook Neo come bersaglio in...
Intel prepara 'Raptor Lake Next'? Nel 20...
Una telefonata del CEO di Amazon dietro ...
Grazie a GLIMPSE-17775 il telescopio spa...
Samsung Galaxy A27 5G è ufficiale...
TCL aggiorna la sua gamma di monitor per...
Anche OPPO avrà uno smartphone co...
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: 13:04.


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