Linguaggio C/C++ – Popolare un array di numeri casuali ripetuti e non

Caricare un vettore di N elementi con numeri pseudo-casuali compresi nel range da 0 a 9 utilizzando le funzioni rand(), time(NULL) e srand().
Considerare le due opzioni che consentano o meno la ripetizione dei numeri.

A) Generazione con ripetizione


#include <iostream>
#include <time.h>
#include <cstdlib>
using namespace std;

const short Dimensione = 4;

int main()
{
 int a[Dimensione];
 short i;
 srand (time(NULL));
 
 for(i=0;i<Dimensione;i++)
  	a[i]=rand() % 10;

 for(i=0;i<Dimensione;i++)
  	cout << a[i] << " ";
  
 system ("PAUSE");
 return 0;
}

B) Generazione senza ripetizione


#include <iostream>
#include <time.h>
#include <cstdlib>
using namespace std;

const short Dimensione = 4;

int main()
{
 int a[Dimensione];
 short i, j;
 srand (time(NULL));
 
 for(i=0;i<Dimensione;i++)
 {
	a[i]=rand() % 10;
	for(j=0;j<i;j++)
	{
		if(a[i]==a[j])
		{
			i--;
			break;
		}
	}
 }
 
 
 for(i=0;i<Dimensione;i++)
  	cout << a[i] << " ";
  
 system ("PAUSE");
 return 0;
}