Otóż program powinien losować 2 liczby z 3 podanych, lecz losuje 2 z dwóch ostatnich podanych, pierwszą liczbę pomija. Mógłby ktoś dokładnie wytłumaczyć gdzie tkwi błąd w kodzie?
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int losuj()
{
return (rand() % 2) + 1;
}
bool czybylawylosowana(int liczba, int tablica[], int ile)
{
if(ile <= 0)
return false;
int i = 0;
do
{
if(tablica[i] == liczba)
return true;
i++;
}while(i < ile);
return false;
}
int main()
{
srand(time(NULL));
int wylosowane[2];
int wylosowanych = 0;
int liczby[3];
int i = 0;
do
{
cin >> liczby[i];
i++;
}while(i < 3);
int liczba = 0;
do
{
liczba = losuj();
if(czybylawylosowana(liczba, wylosowane, wylosowanych) == false)
{
wylosowane[wylosowanych] = liczba;
wylosowanych++;
}
}while(wylosowanych < 2);
int a = 0;
do
{
cout << "Liczby" << liczby[wylosowane[a]] << endl;
a++;
}while(a < 2);
return 0;
}