Zadanie: Napisz program, który wczyta 3 liczby podane przez użytkownika do tablicy, a następnie wylosuje 2 z nich bez powtórzeń. Wynik wypisz na ekran. Postaraj się napisać ten program w oparciu o funkcje.
Czesc mam pytanie czy ten kod jest dobrze napisany bo zroilem pare testow i losuje dwie rozne liczby z tych liczb ktore uzytkownik wprowadza ale jest jeden problem wyspuje sie wtedy kiedy podaje dwie te same liczby ?
Kod:
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
bool czy_byla(int liczba, int tab[], int ile) {
int i=0;
do {
if(liczba == tab[i]) return true;
i++;
}while(i<ile);
return false;
}
int losuj() {
return rand()%2;
}
int main() {
srand(time(NULL));
int tab[3];
cout << "Wypisz trzy liczby: ";
for(int i=0; i<3;i++) {
cin>> tab[i];
}
int it;
int tab2[2];
int i=0;
do {
it = losuj();
if(czy_byla(tab[it], tab2, i) == false) {
tab2[i] = tab[it];
i++;
}
}while(i<2);
for(int s=0; s<2; s++) {
cout << tab2[s]<< " ";
}
return 0;
}