[C++] Builder: Operatory logiczne

Witam mam taki problem chce żeby program losował dwie liczby podzielne przez 10 bez reszty i napisałem takie cos

do

        {

                fx=random(391);

                fy=random(291);

        }

        while(((fx%10)!=0)&&((fy%10)!=0));

Program ten przy użyciu iloczynu logicznego losuje mi do momentu kiedy jedna z nich będzie podzielna przez 10 bez reszty.

Dopiero jak użyję spójnika lub program działa poprawnie :confused: Bug czy co?

a może zakładasz, że dwie liczby spełniające taki warunek wystąpią jednocześnie… a może nie występują one jednocześnie w tej samej pętli? spróbuj losować każdą w osobnej pętli.

Ale mi chodzi ze jak uzyje && to conajmniej jedna jest podzielna przez 10 bez reszty po wyjsciu z petli, a jak uzyje || to sa obie. POwinno byc na odwrot:/

Obie liczby mają być podzielne przez 10 zatem fx%10=0 i fy%10=0 pętla musi się wykonywać dopóki tak się nie stanie, ale pętla działa póki dany warunek jest spełniony, w pętli zatem należy użyć zaprzeczania powyższego warunku, które zgodnie z prawami de Morgana ma postać fx%10!=0 lub fy%10!=0.

Dzieki zapomniajem o tym prawie

Poco tak kombinować? Czy nie prościej dać:

fx=10*(rand()%391);

fy=10*(rand()%291);