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...
La sonda spaziale NASA Voyager 1 tra cir...
La navicella Shenzhou-22 ha effettuato i...
Tre astronauti europei voleranno verso l...
LG UltraGear 37G800A: 37 pollici, 4K e 1...
Stanco dei browser pieni di AI? Orion pe...
GeForce RTX 5000 custom in pericolo? NVI...
Windows Update prende il posto di Micros...
Segnali di crisi per il mercato Smart TV...
Lenovo LEGION e LOQ con NVIDIA GeForce R...
Nuova Fiat 500 ibrida al debutto. Elkann...
Ecco il primo PC da gaming basato su una...
Grok può battere i campioni di Le...
DEEBOT T50 Max Pro Gen2 e X2 Omni ai min...
Autoflight mostra il primo vertiporto ga...
TCL QD-Mini LED e QLED da 65'' crollano ...
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: 06:36.


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