mistervox (Normal User)
Rookie
Messaggi: 26
Iscritto: 11/01/2010
|
Postato originariamente da HeDo:
con tutte le tracce degli eserciziari che si possono trovare su internet, che senso ha un thread di questo genere? |
Speravo mi suggerivaste qualche esercizio |
|
Irvine (Normal User)
Pro
Messaggi: 86
Iscritto: 27/03/2010
|
con le matrici si possono fare tante cose, il classico esercizio sulle matrici e la battaglia navale, la matrice è il mare, gli metti un valore a tuo piacere per esempio 0 per il mare 2 per il mare con la nave 1 colpito... e cose così, oppure qualcosa di più semplice potrebbe essere un numero nascosto dentro la matrice da trovare....
|
|
mistervox (Normal User)
Rookie
Messaggi: 26
Iscritto: 11/01/2010
|
Postato originariamente da Irvine:
con le matrici si possono fare tante cose, il classico esercizio sulle matrici e la battaglia navale, la matrice è il mare, gli metti un valore a tuo piacere per esempio 0 per il mare 2 per il mare con la nave 1 colpito... e cose così, oppure qualcosa di più semplice potrebbe essere un numero nascosto dentro la matrice da trovare.... |
grazie! |
|
nihilus (Normal User)
Newbie
Messaggi: 3
Iscritto: 23/03/2010
|
In verifica ho dovuto costruire questo sorgente, però non riesco (nella generazione) a fare in modo che il vettore sia riempito con numeri diversi tra di loro.
Codice sorgente - presumibilmente C++ |
#include <iostream> using namespace std; int main(){ //Dichiaro le variabili int n,a,b,valore[255]; //Richiesta parametri iniziali N, A, B cout<<"Quanti numeri vuoi visualizzare? "<<endl; cin>>n; cout<<"Valore minimo range: "<<endl; cin>>a; cout<<"Valore massimo range: "<<endl; cin>>b; //Dichiaro C utilizzata come range massimo per il Random int c=b-a; //Dichiaro SRAND srand(time(NULL)); //Ciclo FOR per riempimento casuale e stampa del vettore for(int i=0;i<n;i++){ valore[i] = rand()% c+a; cout<<valore[i]<<" "; } //Termino il programma cout<<endl; system("pause >null"); return 0; }
|
Ultima modifica effettuata da nihilus il 13/04/2010 alle 17:01 |
|
mistervox (Normal User)
Rookie
Messaggi: 26
Iscritto: 11/01/2010
|
Postato originariamente da nihilus:
In verifica ho dovuto costruire questo sorgente, però non riesco (nella generazione) a fare in modo che il vettore sia riempito con numeri diversi tra di loro.
Codice sorgente - presumibilmente C++ |
#include <iostream> using namespace std; int main(){ //Dichiaro le variabili int n,a,b,valore[255]; //Richiesta parametri iniziali N, A, B cout<<"Quanti numeri vuoi visualizzare? "<<endl; cin>>n; cout<<"Valore minimo range: "<<endl; cin>>a; cout<<"Valore massimo range: "<<endl; cin>>b; //Dichiaro C utilizzata come range massimo per il Random int c=b-a; //Dichiaro SRAND srand(time(NULL)); //Ciclo FOR per riempimento casuale e stampa del vettore for(int i=0;i<n;i++){ valore[i] = rand()% c+a; cout<<valore[i]<<" "; } //Termino il programma cout<<endl; system("pause >null"); return 0; }
|
|
includi time.h |
|
nihilus (Normal User)
Newbie
Messaggi: 3
Iscritto: 23/03/2010
|
Funziona anche senza time.h (almeno con il wxDevC++ funziona)...il problema sta nel fatto di far comparire numeri diversi e che non si ripetono.
|
|
Irvine (Normal User)
Pro
Messaggi: 86
Iscritto: 27/03/2010
|
io creerei un altro vettore, e man mano che crei i numeri li metti anche in questo secondo vettore, nel for fai un controllo, se il numero è contenuto nel secondo vettore non lo inserisci.( il computer fa tantissime operazioni al secondo, il programma resta sempre fluido, al massimo se hai sfortuna nel generare rallenta alla fine leggermente).
|
|
HeDo (Founder Member)
Guru^2
Messaggi: 2765
Iscritto: 21/09/2007
|
Postato originariamente da Irvine:
io creerei un altro vettore, e man mano che crei i numeri li metti anche in questo secondo vettore, nel for fai un controllo, se il numero è contenuto nel secondo vettore non lo inserisci.( il computer fa tantissime operazioni al secondo, il programma resta sempre fluido, al massimo se hai sfortuna nel generare rallenta alla fine leggermente). |
un approcio decisamente inefficiente.
l'unico modo plausibile di fare una cosa del genere è riempire un array di numeri sequenziali e poi chiamare N/2 swap sull'array con indici casuali.
|
|