aiutoo...informatica..programmazione C++?

eserzizio 1.

costruire un programma C++ che stampa a video 20 numeri casuali tra 200 e 210.

esercizio2.

costruire un programma C++ che stampa a video 20 numeri casuali ma è utente a scegliere il numero maggiore e numero minore di numeri casuali.

2 risposte

Classificazione
  • Anonimo
    9 anni fa
    Risposta preferita

    Ciao!

    In C e C++ c'è un modo preciso per generare numeri casuali (o meglio, pseudocasuali).

    Questo modo è usare la funzione srand() per inizializzare il generatore di numeri pseudocasuali, e per produrne uno usa la funzione rand().

    Più nella precisione, il generatore va inizializzato così:

    srand( time(NULL) );

    Questo garantisce che a ogni esecuzione del programma, questo genererà numeri diversi.

    Per ottenere numeri in un certo intervallo, la funzione rand() va usata "in collaborazione" con l'operatore modulo % (il resto della divisione).

    Ad esempio, se vuoi ottenere numeri nell'intervallo [0; 10], devi fare:

    rand() % (10 + 1) → rand() % 11

    Questo perchè in una divisione per 11, il valore del resto è minimo 0 e massimo 10.

    Quindi, per ottenere numeri casuali nell'intervallo [0; n] basta fare:

    rand() % (n + 1).

    Il tuo primo esercizio chiede numeri casuali nell'intervallo [200; 210].

    Come si può ottenere questo range di valori?

    [200; 210] = 200 + [0; 10].

    Quindi, basterà scrivere :

    200 + rand() % 11;

    Il programma 1:

    #include <iostream>

    #include <cstdlib>

    #include <ctime> //per utilizzare la funzione time()

    using namespace std;

    int main(void) {

    srand(time(NULL)); //inizializza il generatore di numeri pseudocasuali

    for (int i = 0; i < 20; i++)

    cout << 200 + rand() % 11 << endl;

    //se ti serve, inserisci qua system("pause") o simili

    return 0;

    }

    Il secondo esercizio è molto simile al primo. Unica differenza è che devi far inserire due numeri che diventeranno l'estremo inferiore e l'estremo superiore dell'intervallo.

    #include <iostream>

    #include <cstdlib>

    #include <ctime>

    using namespace std;

    int main(void) {

    int min, max;

    srand(time(NULL));

    cout << "Inserire estremo inferiore:" <<endl;

    cin >> min;

    cout << "Inserire estremo superiore:" << endl;

    cin >> max;

    for (int i = 0; i < 20; i++)

    cout << min + rand() % (max - min + 1) << endl;

    return 0;

    }

    Spero di esserti d'aiuto, ciao! ^^

  • Anonimo
    9 anni fa

    Per me è la cipolla ಠ_ಠ

Altre domande? Fai una domanda e ottieni le risposte che cerchi.