edutecnica

Esercizio 4       

Caricare in modo random un vettore di 10 numeri interi e stamparlo a video e scrivere l'algoritmo che individui quanti numeri pari e quanti numeri dispari ci sono nel vettore.



#include<iostream>
#include<stdlib.h>
#include<time.h>
using namespace std;
const int n=10;
main(){
int T[n];
int i,p=0,d=0;
srand(time(0));
for(i=0;i < n;i++)T[i]=1+rand()%9;
for(i=0;i < n;i++)cout << " " << T[i];
for(i=0;i < n;i++){
   
if(T[i]%2)d++;
   else p++;
}
cout << "\n" << p << " " << d;
}//fine main

Si nota l'uso del generatore di numeri casuali rand(), un'istruzione come:
rand()%10
produce un numero casuale compreso fra 0 e 9 in tal caso l'istruzione
1+rand()%9;
genera un numero casuale fra 1 e 9. Deve sempre essere utilizzata l'istruzione
srand(time(0));
che inizializza il generatore e che fra le parentesi prevede un valore numerico, noi preferiamo basare l'inizializzazione sull'ora attuale dell'elaboratore time(0) garantendo così il presentarsi di valori sempre diversi.

Si osservano ben tre scansioni del vettore: una per caricarlo, una per stamparlo e una per verificare se i suoi numeri sono pari o dispari.

Le due variabili p e d sono usate per contare i valori dei numeri pari e dispari; esse vanno sempre poste a 0 prima di effettuare il conteggio, qualora non fossero inizializzate a tale valore il compilatore gli attribuirebbe un valore casuale.