Con qualche semplice modifica al tuo programma ti mostro che l'if č giusto (non sono riuscito a linkare le tue librerie, mancano dei .lib e non so in alternativa quali .cpp includere). In qualsiasi caso ti riporto il codice, che non cambia nulla dal tuo punto di vista.
Codice:
#include <iostream.h>
#include <time.h>
#include <math.h>
#include <stdlib.h>
int main()
{
cout << "Prego Inserise L'Angolo (cioe' la Media della Gaussiana)" << endl;
cout << "La Varianza verrā calcolata come il 10% della Media" << endl;
float media;
cin >> media;
float sigma;
int k = 0;
sigma = (0.1*media);
float min = media-3*sigma;
float max = media+3*sigma;
float dentrocode;
float vector[100];
srand(time(0));
int mostra = rand()%100;
char s[]="test file";
for (int i = 0; i < 99; ++i)
{
dentrocode=(float)(rand()%100);
if ( dentrocode >= min && dentrocode <= max )
{
vector[k] = dentrocode;
k++;
}
}
for (i = 0; i < 99; ++i)
{
cout << "Vettore Valori" << " Min:" << min << " Max:" << max << endl;
cout << vector[i] << endl;
}
cin.get();
cin.get();
}
Il problema č che stampi TUTTO l'array (ovvero da 0 a 99) e non solo per i k indici che hai filtrato per vector (ovvero i valori realmente compresi tra min e max).
Di seguito ti riporto l'output del programma:
Codice:
La Varianza verrĶ calcolata come
56
Vettore Valori Min:39.2 Max:72.8
65
Vettore Valori Min:39.2 Max:72.8
58
Vettore Valori Min:39.2 Max:72.8
58
Vettore Valori Min:39.2 Max:72.8
66
Vettore Valori Min:39.2 Max:72.8
62
Vettore Valori Min:39.2 Max:72.8
70
Vettore Valori Min:39.2 Max:72.8
43
Vettore Valori Min:39.2 Max:72.8
55
Vettore Valori Min:39.2 Max:72.8
66
Vettore Valori Min:39.2 Max:72.8
49
Vettore Valori Min:39.2 Max:72.8
68
Vettore Valori Min:39.2 Max:72.8
Ovvero fino a un certo indice l'output č giusto, poi ovviamente negli indici finali (dal valore massimo di k fino a 99) sfori da min e max perchč questi valori non dovrebbero far parte di vector. Il linkare o meno le librerie che hai postato non dovrebbe cambiar nulla