Muchas gracias a todos, ya lo he entendido perfectamente.
A continuación dejo la solución ya corregida.
Código C++:
Ver original#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
//Función que genera un número pseudoaleatorio entero en el intervalo discreto [a, b].Conseguir un entero entre [a,b] es igual a conseguirlo
//entre a + [0, b-a]. Para conseguir enteros entre 0 y b-a recurrimos al resto de la división entera, ya que el resto de dividir cualquier
//número entre b-a+1 nos da valores entre 0 y b-a, a los cuales les sumaremos el valor a obteniendo así enteros del intervalo [a, b].
int Numero_Pseudoaleatorio(int a, int b){
return a
+(rand()%(b-a+1)); }
int main()
{
const int a=1, num_caras = 6;
const float num_tiradas = 10000000;
int v[num_caras], num_pseudo = 0;
for(int i=0; i<=num_caras-1; i++) // Inicializamos el vector a 0
v[i]=0;
srand(time(0)); // Usaremos como semilla un valor variable para poder observar distintos resultados en cada ejecución. for(int i=0; i<=num_tiradas-1; i++){ //realizamos las 10000000 tiradas del dado
num_pseudo = Numero_Pseudoaleatorio(a,num_caras); //almacenamos el resultado de la tirada (valor de la cara del dado)
v[num_pseudo-1]++; //incrementamos las veces que aparece cada valor.
}
for(int i=0; i<=num_caras-1; i++){ //mostramos las frecuencias relativas.
cout << "La frecuencia relativa de " << i << " es: " << v[i]/num_tiradas << endl;
}
}
Saludos.