Cześć. Mam dwa problemy pierwszy ze zrobieniem w tym kodzie ograniczenia aby nie można było wpisać przez użytkownika liczby z poza wybranego zakresu. Drugi problem który znalazłem to jeżeli podaje niektóre liczby to tworzy się tylko tablica z podanymi liczbami a brakuje jeszcze tablicy z liczbami pseudolosowymi.
#include <iostream>
#include <cstdlib>
#include <time.h>
using namespace std;
int liczbyg[6];
int z;
int i;
int compare( int liczbyg[], int wylosowane[] ) {
int punkty = 0;
for( int i = 0; i <= 6; i++ ) {
for( int k = 0; k <= 6; k++ ) {
if( liczbyg[ i ] == wylosowane[ k ] ) punkty++;
}
}
return punkty;
}
int main()
{
cout <<"Podaj zakres liczbowy";
cin >>z;
for(int i=1;i<=6;i++)
{
cout <<"Podaj"<<" "<<i<<" "<< "liczbe"<<endl;
cin >> liczbyg[i];
}
cout <<"Wybrane numery";
for(int i=1;i<=6;i++)
{
cout <<" "<<liczbyg[i];
}
srand(time(NULL));
int ile_pytan = z;
int ile_wylosowac= 6;
int ile_juz_wylosowano=0;
int*wylosowane= new int[ile_wylosowac+1];
bool losowanie_ok;
for (int i=1; i<=ile_wylosowac; i++)
{
do
{
int liczba=rand()%ile_pytan+1;
losowanie_ok=true;
for (int j=1; j<=ile_juz_wylosowano;j++)
{
if(liczba==wylosowane[j])losowanie_ok=false;
}
if(losowanie_ok==true)
{
ile_juz_wylosowano++;
wylosowane[ile_juz_wylosowano]=liczba;
}
}while(losowanie_ok!=true);
}
cout<<endl<<"Wylosowane numery:";
for(int i=1; i<=ile_wylosowac;i++)
{
cout<<wylosowane[i]<<" ";
}
cout <<endl<<"Tralies"<<" "<<compare( liczbyg, wylosowane )<<" ""liczb" << endl;
return 0;
}