witam, napisałem kod do zadania:
"losowanie 2 liczb z 3 podanych przez użytkownika"
#include <iostream>
#include <cstdlib>
#include <time.h>
using namespace std;
int tablica[3];
int tablica2[2];
bool sprawdz(int tab2[], int licznik, int liczba)
{
if(licznik<=0)
return true;
int i=0;
do
{
if(tab2[i]==liczba)
return false;
}while(i<licznik);
return true;
}
int losowanie(int tab[])
{
return tab[rand()%2];
}
int main()
{
srand(time(NULL));
for(int i=0; i<3; i++)
{
cout << "podaj " << i+1 << " liczbe: ";
cin >> tablica[i];
}
int licznik=0;
int liczba;
do
{
liczba = losowanie(tablica);
if(sprawdz(tablica2,licznik,liczba)==true)
{
tablica2[licznik]=liczba;
licznik++;
}
}while(licznik>2);
licznik=0;
do
{
cout << "wylosowana liczba to: " << tablica2[licznik]<< endl;
licznik++;
}while(licznik<2);
return 0;
}
Efekt działania programu to:
niestety, ciągle wybiera pierwszą podaną liczbę;/ Prosiłbym o wyjaśnienie problemu,z góry dziękuje ;>