Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Nokia Innovation Day 2026: la sovranità europea passa dal mercato unico e dai laboratori italiani del gruppo
Nokia Innovation Day 2026: la sovranità europea passa dal mercato unico e dai laboratori italiani del gruppo
Politica, accademia e industria a confronto su mercato unico, sicurezza e competitività. Nei laboratori di Vimercate, Nokia ha mostrato le nuove generazioni di chip ottici e i test che ogni prodotto deve superare prima di arrivare sul mercato
In sella alla Fiido Nomads Pro: e-bike con motore centrale da 100 Nm per il divertimento a 360 gradi
In sella alla Fiido Nomads Pro: e-bike con motore centrale da 100 Nm per il divertimento a 360 gradi
Abbiamo assemblato e provato la Fiido Nomads Pro, evoluzione del modello da trekking già presente nella gamma, che migliora in tutto, soprattutto grazie al motore centrale, fluido e potente. Ottima app, costruzione solida e prezzo ok completano il quadro
ASUS Zenbook 14 (UX3480AA): tanta autonomia con uno chassis bello e robusto
ASUS Zenbook 14 (UX3480AA): tanta autonomia con uno chassis bello e robusto
Lo chassis in Ceraluminium è il cuore di questo notebook in edizione 2026, un modello pensato per garantire produttività con le tipiche applicazioni di produttività personale e capace di offrire un'autonomia di funzionamento lontano dalla presa di corrente da riferimento. Potenza, facilità di trasporto e costruzione robusta tutto in un notebook compatto.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 06-08-2008, 00:33   #1
Carlo1991
Junior Member
 
Iscritto dal: Aug 2008
Messaggi: 1
c++ numeri casuali

ciao a tutti.. Vado subito al sodo.. Mi serve una traccia di programma che dia dei numeri completamente casuali tra 10 e 18 e li metta tutti in un vettore di sei elementi..
srand(time(0));
for(i=0; i=6; i++)
{
scelta = 1+rand() % 8;
i=0;
switch(scelta)
{
case 1: valori[i]=11;
break;
case 2: valori[i]=12;
break;
case 3: valori[i]=13;
break;
case 4: valori[i]=14;
break;
case 5: valori[i]=15;
break;
case 6: valori[i]=16;
break;
case 7: valori[i]=17;
break;
case 8: valori[i]=18;
break;
}
for(i=0; i=6; i++)
{
cout<<valori[i]<<endl;
}
ho provato facendo così ma quando mi da i valori va in loop facendo uscire tutti 0.. Sapete qualche altro metodo ? Grazie in anticipo a tutti
Carlo1991 è offline   Rispondi citando il messaggio o parte di esso
Old 06-08-2008, 08:58   #2
DanieleC88
Senior Member
 
L'Avatar di DanieleC88
 
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
Ti conviene innanzitutto eliminare interamente lo switch: una volta ottenuto il numero casuale, ti basta aggiungervi 10, o generare direttamente un numero tra 10 e 18.

Vedo alcuni errori gravi poi:
  1. hai due cicli for che utilizzando la stessa variabile come contatore (i); da come hai scritto sono uno interno all'altro e sarebbe quindi un problema: però, se ho letto male io ed il secondo ciclo è successivo al primo, allora è ok.
  2. inizializzi i a 0 ad ogni ciclo (i = 0).
  3. dopo ogni ciclo, invece di controllare che i sia minore di 6, le assegni il valore 6 (i = 6). Nel C e nel C++ il valore numerico zero è considerato logicamente "falso", tutti gli altri valori numerici sono valutati logicamente come "vero", perciò assegnando i = 6 hai un valore "vero" di i e il tuo for va avanti all'infinito. La tua intenzione era di dire "fermati quando i è uguale a 6"? Volendola scrivere in quel modo, avresti dovuto usare i == 6 (dove il doppio uguale è l'operatore giusto, che fa i confronti e non assegna), ma sarebbe stato ancora semanticamente errato, perché il for va avanti fintanto che quella condizione è verificata, e avresti dovuto continuare nel mentre che i non uguagliava 6 (i != 6).

Io farei in questo modo:
Codice:
#define RAND(min, max) ((min) + (int) ((float)(max) * (rand() / (RAND_MAX + 1.0f))))
#define N 6

// ...

int valori[N];
int i;

srand(time(0));
for (i = 0; i < N; ++i)
{
  valori[i] = RAND(10, 18);
  cout << valori[i] << endl;
}
__________________

C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai!
DanieleC88 è offline   Rispondi citando il messaggio o parte di esso
Old 06-08-2008, 11:07   #3
Ziosilvio
Moderatore
 
L'Avatar di Ziosilvio
 
Iscritto dal: Nov 2003
Messaggi: 16215
http://www.hwupgrade.it/forum/showthread.php?t=1196677
__________________
Ubuntu è un'antica parola africana che significa "non so configurare Debian" Chi scherza col fuoco si brucia.
Scienza e tecnica: Matematica - Fisica - Chimica - Informatica - Software scientifico - Consulti medici
REGOLAMENTO DarthMaul = Asus FX505 Ryzen 7 3700U 8GB GeForce GTX 1650 Win10 + Ubuntu
Ziosilvio è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Nokia Innovation Day 2026: la sovranità europea passa dal mercato unico e dai laboratori italiani del gruppo Nokia Innovation Day 2026: la sovranità e...
In sella alla Fiido Nomads Pro: e-bike con motore centrale da 100 Nm per il divertimento a 360 gradi In sella alla Fiido Nomads Pro: e-bike con motor...
ASUS Zenbook 14 (UX3480AA): tanta autonomia con uno chassis bello e robusto ASUS Zenbook 14 (UX3480AA): tanta autonomia con ...
MSI PRO MAX: QD-OLED ultrawide per lavorare, creare e giocare MSI PRO MAX: QD-OLED ultrawide per lavorare, cre...
Samsung Micro RGB R95H, il primo LCD a LED rossi, verdi e blu di Samsung alla prova del banco di misura Samsung Micro RGB R95H, il primo LCD a LED rossi...
OnePlus non si ferma dopo l'addio all'Eu...
Epic Games ha rinviato il gioco di Disne...
Elon Musk versa oltre 276 milioni ai rep...
AMD EPYC Verano nelle mani di Lisa Su: f...
Meta presenta la sua prima IA di frontie...
Il buco nero di NGC 1275 si accende nei ...
Aito punta all'Europa: l'azienda automot...
Cloni di Word, Excel e PowerPoint gratis...
Windows 11 23H2, a novembre finiscono gl...
LineageOS compie 10 anni e festeggia con...
Recensione Mibro AeroPace: leggero nella...
La Russia sta perdendo la guerra dei dat...
Sconti Amazon aggiornati questa mattina:...
Robot aspirapolvere in offerta: Roborock...
MSI MAG a 99€ su Amazon: monitor gaming ...
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: 12:20.


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