Dzień dobry, próbuję napisać program, ale napotkałem pewien problem. Użytkownik ma wpisać 20 liczb w zakresie 1-100, następnie komputer losuje 10 liczb(również z zakresu 1-100). Potem program wyświetla posortowane rosnąco liczby i informacje ile liczb trafił użytkownik. Problem występuje w podanym zakresie - nie wiem co zrobić, aby nie można było wpisać liczb spoza zakresu 1-100. Z góry dziękuję za pomoc.
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int t[20],i,tym,a=0,wyl[10],b;
bool zmiana=true;
int main()
{
cout<<"Podaj 20 liczb do losowania w zakresie 1-100!"<<endl;
do
{
if(a<20)
{
cin>>t[a];
a++;
}
else
break;
}
while(t[a]<100||t[a]>1);
srand(time(NULL));
for(i=0;i<=9;i++)
{
wyl[i]=rand()%100+1;
}
while(zmiana)
{
zmiana=false;
for(i=0;i<=8;i++)
{
if(wyl[i]>wyl[i+1])
{
tym=wyl[i];
wyl[i]=wyl[i+1];
wyl[i+1]=tym;
zmiana=true;
}
}
}
cout<<"Oto liczby wylosowane za pomoca maszyny losujacej: "<<endl;
for(i=0;i<=9;i++)
{
cout<<wyl[i]<<" ";
}
int trafione=0;
for(int i=0;i<10;++i)
for(int j=0;j<20;++j)
if(t[j]==wyl[i])
{
++trafione;
break;
}
cout<<"Trafiles: "<<trafione;
return 0;
}