Cześć, mam problem z kodem otóż:
#include <iostream>
#include <cmath>
#include <cstdio>
#include <cstdlib>
using namespace std;
int main()
{
short action_word_1 = 0, action_word_2 = 0, buff = 0, range_max = 20, range_min = 1;
float rest[ 3 ] = { 0, 0, 0 }, score = 0;
do
{
action_word_1 = rand( ) % range_max + range_min;
action_word_2 = rand( ) % range_max + range_min;
if( action_word_1 < action_word_2 ) { buff = action_word_1; action_word_1 = action_word_2; action_word_2 = buff; }
score = action_word_1 / action_word_2;
rest[ 0 ] = fmod( score, 2 );
rest[ 1 ] = fmod( action_word_1, 2 );
rest[ 2 ] = fmod( action_word_2, 2 );
} while( rest[ 0 ] != 0 && rest[ 1 ] != 0 && rest[ 2 ] != 0 );
}
A więc, zamysł był taki: losujemy 2 liczby w zakresie od 1 do 20, dzielimy je przez siebie, ( większa przez mniejszą ), program sprawdza czy są to liczby parzyste, oraz czy wynik z dzielenia ich również jest parzysty, no ale czasem wychodzą działania typu: 16 / 3 = 5.33 ( 16 jest parzysta, okej, ale nie 3 co za tym idzie również i wynik nie jest parzysty ), co tu jest nie tak? Chciałbym aby każda z tych liczb była parzysta, razem z wynikiem, nie wiem co zrobiłem źle tutaj, z góry dziękuje za pomoc. :) Pozdrawiam.
Funkcja fmod - http://cpp0x.pl/dokumentacja/standard-C/fmod/555