Cześć.
Jako nowy obywatel tego forum, chciał bym się przywitać ze wszystkimi. Za tem! Cześć Wam!
Od jakiegoś czasu uczę się programować korzystając z kursów na kanale Pasja Informatyki, zresztą stamtąd tutaj trafiłem. Oczywiście jak będę umiał, tak będę się starał również wspierać swoją wiedzą innych członków tego forum. Tym czasem sam mam pytanie:
Jestem po 5 odcinku czyli znam już tablice i ich zastosowanie. Ponieważ losowanie liczb w lotto z powtórzeniami nie bardzo mi pasowało chciałem zrobić upgrade programu z 4 odcinka tak aby liczby się nie powtarzały. I w zasadzie się udało, oto kod:
#include <iostream>
#include <unistd.h>
#include <ctime>
#include <cstdlib>
using namespace std;
int liczba[6];
int x[6];
int main()
{
system("clean");
srand(time(NULL));
cout<<"Za chwilę zacznie się losowanie liczb"<<endl;
sleep(3);
for(int i=0; i<6 ;i++)
{
x[i]=rand()%49+1;
if((x[i]==liczba[0]) || (x[i]==liczba[1]) || (x[i]==liczba[2]) || (x[i]==liczba[3]) || (x[i]==liczba[4]) || (x[i]==liczba[5]))
{
cout <<"\a";
i--;
}
else
{
liczba[i]=x[i];
cout<<"Wylosowana "<<i+1<<" liczba to: "<<liczba[i]<<endl;
sleep(1);
}
}
getchar();
return 0;
}
Wykorzystałem do tego celu funkcję IF. Jednak zastanawia mnie jak bardziej ten kod zoptymalizować. Jeżeli w IF'ie wpisujemy 6 spójników logicznych OR to spokojnie można to zrobić z palca, ale gdybyśmy mieli ich np. 1000 ?? Wklepywanie tego samego tysiąc razy nie jest za dobre. Czy istnieje sposób aby jakoś wklepać zakres do zbadania w tablicach coś na stylu np: "IF(x[i]!=tablica[1-999])" ?? Czy za każdym razem trzeba wklepywać nowe spójniki logiczne podobnie jak zrobiłem w kodzie.
Pozdrawiam
Grzegorz