Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI Care e DisplayPort 2.1a
Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI Care e DisplayPort 2.1a
Abbiamo potuto mettere le mani in anteprima sul nuovo monitor MSI dedicato ai giocatori: un mostro che adotta un pannello QD-OLED da 26,5 pollici con risoluzione 2560 x 1440 pixel, frequenza di aggiornamento fino a 500 Hz e tempo di risposta di 0,03 ms GtG
DJI Neo 2 in prova: il drone da 160 grammi guadagna il gimbal e molto altro
DJI Neo 2 in prova: il drone da 160 grammi guadagna il gimbal e molto altro
DJI aggiorna la sua linea di droni ultraleggeri con Neo 2, un quadricottero da 160 grammi che mantiene la compattezza del predecessore ma introduce una stabilizzazione meccanica a due assi, sensori omnidirezionali e un sistema LiDAR
L'IA "seria" di Appian è diversa: inserita nei processi e rispetta dati e persone
L'IA "seria" di Appian è diversa: inserita nei processi e rispetta dati e persone
Ad Appian Europe 2025, l'azienda parla molto della sua visione di cos'è e come dovrebbe essere usata l'intelligenza artificiale: è uno strumento che va sempre adoperato dalle persone, che devono rimanere responsabili dei processi all'interno dell'azienda. Non è un giocattolo con cui sperimentare, ma un aiuto per superare le sfide di business più importanti
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 06-05-2009, 12:37   #1
Bandit
Senior Member
 
L'Avatar di Bandit
 
Iscritto dal: Sep 2003
Messaggi: 9434
[c++]Mi aiutate a capire l'istruzione?

Ciao a tutti ragazzi
vorrei capire un' istruzione a cosa serve: vi spiego il problema: devo visulizzare gli interi da 1 a 20 usando un ciclo for con variabile contatore x intera e inizializzata ad 1.Devo visualizzare 5 interi per linea , se il valore è 0, visualizza un carattere nuova linea se no carattere di tabulazione

Codice:
for(x=1; x<=20 ; x++)
count<<x;
   if (x%5==0)                    <<<questa if non la capisco cosa significa?<<<
       cout<<endl;
   else
     cout<<"\t";
__________________
1)P4 2.4-Asrock p4i65- Sapphire Hd3450 512mb agp- 2GB ddr400-Hd 80gb WD- Thermaltake Litepower 450W
2)Amd 3200-Msi K8n Neo4 Platinum - 2*512 MB pc3200-Asus N6600gt- HD WD 160GB-enermax noisetacker 370.
Bandit è offline   Rispondi citando il messaggio o parte di esso
Old 06-05-2009, 12:41   #2
||ElChE||88
Senior Member
 
Iscritto dal: Dec 2003
Messaggi: 4907
E' l'operatore modulo.

Significa: se x è divisibile per 5 (o meglio: se il resto della divisione x / 5 è uguale a 0).
||ElChE||88 è offline   Rispondi citando il messaggio o parte di esso
Old 06-05-2009, 12:43   #3
yorkeiser
Senior Member
 
L'Avatar di yorkeiser
 
Iscritto dal: Jul 2006
Città: Tristram
Messaggi: 517
Quel % è l'operatore di modulo, restituisce il resto della divisione.
Quindi: se il resto della divisione di x / 5 è uguale a 0 (ovvero, se x è divisibile per 5) stampa endl.

EDIT: doppio
__________________
Il sole è giallo
yorkeiser è offline   Rispondi citando il messaggio o parte di esso
Old 06-05-2009, 14:24   #4
Bandit
Senior Member
 
L'Avatar di Bandit
 
Iscritto dal: Sep 2003
Messaggi: 9434
e cosa c'entra con questa espressione "Devo visualizzare 5 interi per linea"?
__________________
1)P4 2.4-Asrock p4i65- Sapphire Hd3450 512mb agp- 2GB ddr400-Hd 80gb WD- Thermaltake Litepower 450W
2)Amd 3200-Msi K8n Neo4 Platinum - 2*512 MB pc3200-Asus N6600gt- HD WD 160GB-enermax noisetacker 370.
Bandit è offline   Rispondi citando il messaggio o parte di esso
Old 06-05-2009, 14:43   #5
||ElChE||88
Senior Member
 
Iscritto dal: Dec 2003
Messaggi: 4907
Quote:
Originariamente inviato da Bandit Guarda i messaggi
e cosa c'entra con questa espressione "Devo visualizzare 5 interi per linea"?
Ogni 5 interi ce n'è uno divisibile per 5.
Quindi ogni 5 interi il programma andrà a nuova riga.
||ElChE||88 è offline   Rispondi citando il messaggio o parte di esso
Old 06-05-2009, 14:54   #6
Bandit
Senior Member
 
L'Avatar di Bandit
 
Iscritto dal: Sep 2003
Messaggi: 9434
Quote:
Originariamente inviato da ||ElChE||88 Guarda i messaggi
Ogni 5 interi ce n'è uno divisibile per 5.
Quindi ogni 5 interi il programma andrà a nuova riga.
a ecco
grazie

si fanno anche questo itpo di ragionamento? mi devo abituare allora...
__________________
1)P4 2.4-Asrock p4i65- Sapphire Hd3450 512mb agp- 2GB ddr400-Hd 80gb WD- Thermaltake Litepower 450W
2)Amd 3200-Msi K8n Neo4 Platinum - 2*512 MB pc3200-Asus N6600gt- HD WD 160GB-enermax noisetacker 370.
Bandit è offline   Rispondi citando il messaggio o parte di esso
Old 06-05-2009, 15:09   #7
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Quote:
Originariamente inviato da Bandit Guarda i messaggi
si fanno anche questo itpo di ragionamento? mi devo abituare allora...
Tieni presente che programmazione, logica booleana e matematica sono praticamente amanti tra di loro.
__________________

As long as you are basically literate in programming, you should be able to express any logical relationship you understand.
If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it.
(Chris Crawford)
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 06-05-2009, 15:19   #8
Bandit
Senior Member
 
L'Avatar di Bandit
 
Iscritto dal: Sep 2003
Messaggi: 9434
ok, cercherò...
__________________
1)P4 2.4-Asrock p4i65- Sapphire Hd3450 512mb agp- 2GB ddr400-Hd 80gb WD- Thermaltake Litepower 450W
2)Amd 3200-Msi K8n Neo4 Platinum - 2*512 MB pc3200-Asus N6600gt- HD WD 160GB-enermax noisetacker 370.
Bandit è offline   Rispondi citando il messaggio o parte di esso
Old 12-05-2009, 11:36   #9
Bandit
Senior Member
 
L'Avatar di Bandit
 
Iscritto dal: Sep 2003
Messaggi: 9434
ragazzi mi aiutate a capire le due funzioni che mi permettono di visualizzare l'orario in tempo universale-militare (18:30) e quello in tempo standard(6:30 PM)?

queste sono le funzioni
Codice:
void stampamilitare (const Tempo &t)

void stampastandard (const Tempo &t)
questo è il programma dove creo un tipo Tempo , do dei valori ai membrei della struct tipo Tempo e cerco di visualizzarli

Codice:
//Crea struttura ,imposto i membri e li visualizzo

#include <iostream>
using namespace std;

struct Tempo {
	 int ora;
	 int minuto;
	 int secondo;
};

void stampamilitare (const Tempo &);
void stampastandard (const Tempo &);

int main()
{
	Tempo cenaTempo; //variabile del nuovo tipo Tempo

	//ora inizializzo i membri con valori validi
	cenaTempo.ora=18;
	cenaTempo.minuto=30;
	cenaTempo.secondo=0;

	cout<<"cena sarà servita alle:";
	stampamilitare(cenaTempo);

	cout<<"  tempo militare,\n che è :";
	stampastandard(cenaTempo);
	cout<<"in tempo standard.\n";

	return 0;

}

//funzione stampa militare e stampa standard

void stampamilitare (const Tempo &t)
{
//da qui 
	cout<<(t.ora<10 ? "0" : "")<<t.ora<< ":"
	<<(t.minuto<10 ? "0" : "")<<t.minuto;

//a qui 

}

void stampastandard (const Tempo &t)
{

//da qui
	cout<<((t.ora==0 ||t.ora==12)?
			12 : t.ora %12)
			<<":"<<(t.minuto<10 ? "0":"")<<t.minuto
			<<":"<<(t.secondo<10 ? "0":"")<<t.secondo
			<<(t.ora<12?" AM ":" PM ");

//a qui 
}
perchè per visualizzare il il tempo scrivo in questo modo i due corpi della funzione, che cosa vuol dire?
__________________
1)P4 2.4-Asrock p4i65- Sapphire Hd3450 512mb agp- 2GB ddr400-Hd 80gb WD- Thermaltake Litepower 450W
2)Amd 3200-Msi K8n Neo4 Platinum - 2*512 MB pc3200-Asus N6600gt- HD WD 160GB-enermax noisetacker 370.

Ultima modifica di Bandit : 12-05-2009 alle 12:03.
Bandit è offline   Rispondi citando il messaggio o parte di esso
Old 12-05-2009, 11:58   #10
||ElChE||88
Senior Member
 
Iscritto dal: Dec 2003
Messaggi: 4907
Quote:
Originariamente inviato da Bandit Guarda i messaggi
perchè per visualizzare il il tempo scrivo in questo modo i due corpi della funzione che cosa vuol dire?
Non ho capito bene che cosa non ti è chiaro...
||ElChE||88 è offline   Rispondi citando il messaggio o parte di esso
Old 12-05-2009, 12:03   #11
Bandit
Senior Member
 
L'Avatar di Bandit
 
Iscritto dal: Sep 2003
Messaggi: 9434
ho messo i commenti in rosso dove non ho capito
__________________
1)P4 2.4-Asrock p4i65- Sapphire Hd3450 512mb agp- 2GB ddr400-Hd 80gb WD- Thermaltake Litepower 450W
2)Amd 3200-Msi K8n Neo4 Platinum - 2*512 MB pc3200-Asus N6600gt- HD WD 160GB-enermax noisetacker 370.
Bandit è offline   Rispondi citando il messaggio o parte di esso
Old 12-05-2009, 12:08   #12
||ElChE||88
Senior Member
 
Iscritto dal: Dec 2003
Messaggi: 4907
Quote:
Codice:
void stampamilitare (const Tempo &t)
{
//da qui 
	cout<<(t.ora<10 ? "0" : "")<<t.ora<< ":"
	<<(t.minuto<10 ? "0" : "")<<t.minuto;

//a qui 

}
In questa funzione fa uso dell'operatore ternario.
(condizione ? #true : #false)
Praticamente se la condizione è vera viene eseguito il codice #true, se la condizione è falsa quello #false.
In questo caso se l'ora e i minuti sono inferiori a 10 (e quindi hanno una singola cifra) ci aggiunge uno 0 davanti. Se i numeri sono a due cifre invece ci aggiunge una stringa vuota, non cambiando niente.

Quote:
Codice:
void stampastandard (const Tempo &t)
{

//da qui
	cout<<((t.ora==0 ||t.ora==12)?
			12 : t.ora %12)
			<<":"<<(t.minuto<10 ? "0":"")<<t.minuto
			<<":"<<(t.secondo<10 ? "0":"")<<t.secondo
			<<(t.ora<12?" AM ":" PM ");

//a qui 
}
((t.ora==0 ||t.ora==12) ? 12 : t.ora %12)
controlla se l'ora è 0 o 12 e in quel caso ritorna 12, altrimenti ritorna ora % 12 (praticamente trasforma le ore 13-23 in 1-11).
||ElChE||88 è offline   Rispondi citando il messaggio o parte di esso
Old 12-05-2009, 12:10   #13
goldorak
Senior Member
 
Iscritto dal: Apr 2003
Messaggi: 16462
Cosa non ti e' chiaro ? Il modo in cui l'ora viene stampata ?

Se usi lo standard militare, devi mettere uno 0 davanti ogni cifra (sia per l'ora che per i minuti) se questi non hanno gia' una prima prima cifra diversa da 0.
Quindi 1 viene scritto 01, 2 viene scritto 02, 13 viene scritto 13 e non 013 perche' ce' gia' un 1 che precede il 3. Idem se scrivi 23:56, se scrivi 7:6 allora
verra' trasformato in 07:06.

Se usi lo standard civile invece l'ora va scritta in formato xx:yy:AM/PM con xx compreso tra 0 e 12 (ore), yy sono i minuti e AM o PM distinguono se le ore si riferiscono al mattino o al pomeriggio.
Quindi le 2:05 AM non sono uguali alle 2:05 PM.
__________________
MICROSOFT : Violating your privacy is our priority
goldorak è offline   Rispondi citando il messaggio o parte di esso
Old 12-05-2009, 12:17   #14
Bandit
Senior Member
 
L'Avatar di Bandit
 
Iscritto dal: Sep 2003
Messaggi: 9434
grazie della spiegazione
però è possibile scendere in dettaglio?

Quote:
Originariamente inviato da ||ElChE||88 Guarda i messaggi
In questa funzione fa uso dell'operatore ternario.
(condizione ? #true : #false)
Praticamente se la condizione è vera viene eseguito il codice #true, se la condizione è falsa quello #false.
In questo caso se l'ora e i minuti sono inferiori a 10 (e quindi hanno una singola cifra) ci aggiunge uno 0 davanti. Se i numeri sono a due cifre invece ci aggiunge una stringa vuota, non cambiando niente.
Codice:
t.ora<10 ? "0" : ""
se l'ora è <10, allora aggiungi un o 0 davanti, il "?" cosa indica?aggiungi?


Andando oltre
se qui consideriamo altrimenti
Quote:
Originariamente inviato da ||ElChE||88 Guarda i messaggi

((t.ora==0 ||t.ora==12) ? 12 : t.ora %12)
controlla se l'ora è 0 o 12 e in quel caso ritorna 12, altrimenti ritorna ora % 12 (praticamente trasforma le ore 13-23 in 1-11).
Codice:
((t.ora==0 ||t.ora==12) ? 12 : t.ora %12)
perchè invece del : non c'è ||?
__________________
1)P4 2.4-Asrock p4i65- Sapphire Hd3450 512mb agp- 2GB ddr400-Hd 80gb WD- Thermaltake Litepower 450W
2)Amd 3200-Msi K8n Neo4 Platinum - 2*512 MB pc3200-Asus N6600gt- HD WD 160GB-enermax noisetacker 370.
Bandit è offline   Rispondi citando il messaggio o parte di esso
Old 12-05-2009, 12:23   #15
||ElChE||88
Senior Member
 
Iscritto dal: Dec 2003
Messaggi: 4907
Quote:
Originariamente inviato da Bandit Guarda i messaggi
grazie della spiegazione
però è possibile scendere in dettaglio?



Codice:
t.ora<10 ? "0" : ""
se l'ora è <10, allora aggiungi un o 0 davanti, il "?" cosa indica?aggiungi?


Andando oltre
se qui consideriamo altrimenti


Codice:
((t.ora==0 ||t.ora==12) ? 12 : t.ora %12)
perchè invece del : non c'è ||?
La risposta ad entrambe le domande è nel mio post sopra: si tratta dell'operatore ternario.
Quote:
Originariamente inviato da ||ElChE||88 Guarda i messaggi
(condizione ? #true : #false)
Praticamente se la condizione è vera viene eseguito il codice #true, se la condizione è falsa quello #false.
||ElChE||88 è offline   Rispondi citando il messaggio o parte di esso
Old 12-05-2009, 12:24   #16
goldorak
Senior Member
 
Iscritto dal: Apr 2003
Messaggi: 16462
L'operatore ternario "? :" funziona cosi'

espressione1 ? espressione2 : espressione3.

Viene valutata l'espressione1, se e' vera viene restituito il valore dell'espressione 2, se invece espressione1 e' falsa viene restituito il valore dell'espressione3.

E un modo alternativo di scrivere una istruzione if then else. Ad ogni modo non sono totalmente equivalenti, perche' l'if-then-else e' una istruzione mentre ? : e' un espressione e puo' essere utilizzata in posti dove non potrebbe essere usata l'istruzione if-then-else.
__________________
MICROSOFT : Violating your privacy is our priority
goldorak è offline   Rispondi citando il messaggio o parte di esso
Old 12-05-2009, 12:26   #17
Bandit
Senior Member
 
L'Avatar di Bandit
 
Iscritto dal: Sep 2003
Messaggi: 9434
quindi ? e :
così scritti possono poter essere covisti come una specie di if (?) e else (
__________________
1)P4 2.4-Asrock p4i65- Sapphire Hd3450 512mb agp- 2GB ddr400-Hd 80gb WD- Thermaltake Litepower 450W
2)Amd 3200-Msi K8n Neo4 Platinum - 2*512 MB pc3200-Asus N6600gt- HD WD 160GB-enermax noisetacker 370.
Bandit è offline   Rispondi citando il messaggio o parte di esso
Old 12-05-2009, 12:27   #18
Bandit
Senior Member
 
L'Avatar di Bandit
 
Iscritto dal: Sep 2003
Messaggi: 9434
Quote:
Originariamente inviato da goldorak Guarda i messaggi
L'operatore ternario "? :" funziona cosi'

espressione1 ? espressione2 : espressione3.

Viene valutata l'espressione1, se e' vera viene restituito il valore dell'espressione 2, se invece espressione1 e' falsa viene restituito il valore dell'espressione3.

E un modo alternativo di scrivere una istruzione if then else. Ad ogni modo non sono totalmente equivalenti, perche' l'if-then-else e' una istruzione mentre ? : e' un espressione e puo' essere utilizzata in posti dove non potrebbe essere usata l'istruzione if-then-else.
ok grazie mille chiarissimo
abbiam orisposto in contemporanea


p.s. grazie a tutti, ma mi sto ambientando piano piano a questo c++
__________________
1)P4 2.4-Asrock p4i65- Sapphire Hd3450 512mb agp- 2GB ddr400-Hd 80gb WD- Thermaltake Litepower 450W
2)Amd 3200-Msi K8n Neo4 Platinum - 2*512 MB pc3200-Asus N6600gt- HD WD 160GB-enermax noisetacker 370.
Bandit è offline   Rispondi citando il messaggio o parte di esso
Old 12-05-2009, 12:38   #19
goldorak
Senior Member
 
Iscritto dal: Apr 2003
Messaggi: 16462
Quote:
Originariamente inviato da Bandit Guarda i messaggi
ok grazie mille chiarissimo
abbiam orisposto in contemporanea


p.s. grazie a tutti, ma mi sto ambientando piano piano a questo c++
Ti faccio un esempio veloce veloce in c (ma si puo' applicare anche a c++)


Codice:
char cin ;

cin = getchar() // leggi un carattere dallo standard input

if (cin=='a') printf("%c", 'A'); else printf("%c", '\n') ;

....
con l'operatore ? : scriveresti una cosa del genere :

Codice:
char cin ;

printf ("%c", ( (cin=getchar()) == 'a') ? 'A' : '\n') ;
Come vedi nel secondo esempio si fa a meno dell'istruzione if then else perche' non potresti inserirla nella printf.
__________________
MICROSOFT : Violating your privacy is our priority
goldorak è offline   Rispondi citando il messaggio o parte di esso
Old 12-05-2009, 12:53   #20
Bandit
Senior Member
 
L'Avatar di Bandit
 
Iscritto dal: Sep 2003
Messaggi: 9434
Quote:
Originariamente inviato da goldorak Guarda i messaggi
Codice:
char cin ;

printf ("%c", ( (cin=getchar()) == 'a') ? 'A' : '\n') ;
ed in quest'ultimo codice
il "%c" viene sempre visualizzato, giusto?
visto che prima sia nell'if che nel else c'era

quindi è un modo di scrivere abbreviato
__________________
1)P4 2.4-Asrock p4i65- Sapphire Hd3450 512mb agp- 2GB ddr400-Hd 80gb WD- Thermaltake Litepower 450W
2)Amd 3200-Msi K8n Neo4 Platinum - 2*512 MB pc3200-Asus N6600gt- HD WD 160GB-enermax noisetacker 370.
Bandit è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI Care e DisplayPort 2.1a Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI C...
DJI Neo 2 in prova: il drone da 160 grammi guadagna il gimbal e molto altro DJI Neo 2 in prova: il drone da 160 grammi guada...
L'IA "seria" di Appian è diversa: inserita nei processi e rispetta dati e persone L'IA "seria" di Appian è divers...
Polestar 3 Performance, test drive: comodità e potenza possono convivere Polestar 3 Performance, test drive: comodit&agra...
Qualcomm Snapdragon X2 Elite: l'architettura del SoC per i notebook del 2026 Qualcomm Snapdragon X2 Elite: l'architettura del...
GoPro HERO13 Black: la versione completa...
L'Europa fa retromarcia sugli obblighi p...
Amazon Black Friday: 2 portatili gaming ...
50 idee regalo sotto i 50€, con gli scon...
Ecco un robot Lefant con mappatura laser...
Sundar Pichai (Google): il 'vibe coding'...
Lenovo Legion 7i, con una NVIDIA GeForce...
Sconti fino al 40% sui robot Roborock: l...
Stampante HP quasi regalata per il Black...
POCO lancia due nuovi tablet: ecco Pad X...
Leonardo ha svelato Michelangelo Dome, i...
iPhone Air non convince e i produttori c...
Prime Video supera Netflix in Italia? So...
Qualcomm Snapdragon 8 Elite Gen 6 avr&ag...
Dal disastro ambientale arriva il 'super...
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: 09:59.


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