Witam, mam losowanie liczb z danego przedziału,
chcę dorobić by liczby były bez powtórzeń w każdej kolejnej pętli
dodam że pętla wykonuje się 20 razy(main)
void wczytaj(){ //-------------- WCZYTYWANIE PLIKU - id kategorii
fstream plik;
plik.open(nazwaPliku,ios::in); //plik tekstowy
if(plik.good()==false){
cout<<"Nie udalo sie otworzyc pliku!"; //brak pliku
exit(0);
}
cout<<"--------------------------------------------------------------"<<endl;
int aktualny_nr=1;
string linia;
#define ARR_SIZE 20
int arr[ARR_SIZE] = {1,7,13,19,25,31,37,43,49,55,61,67,73,79,85,91,97,103,109,115}; ////LOSOWANIE PYTAŃ Z KATEGORII
//numery oznaczają pole gdzie znajduje się początek-->pytanie + 4odpowiedzi do wyboru +poprawna
int nr_linii = arr[rand()%ARR_SIZE];
while(getline(plik,linia)){
if(aktualny_nr==nr_linii) tresc=linia;
if(aktualny_nr==nr_linii+1) a=linia;
if(aktualny_nr==nr_linii+2) b=linia;
if(aktualny_nr==nr_linii+3) c=linia;
if(aktualny_nr==nr_linii+4) d=linia;
if(aktualny_nr==nr_linii+5) poprawna=linia;
if(aktualny_nr==nr_linii+6) tresc=linia;
aktualny_nr++;
}
plik.close();
}
.........
pytania s1[20];
int suma=0;
for(int i=0; i<=19; i++){
s1[i].ustawKategorie(numer_kategoria);
s1[i].nr_pytania=i+1;
s1[i].wczytaj();
s1[i].zadaj();
s1[i].sprawdz();
suma+=s1[i].punkt; //sumowanie punktow(pętla)
}