Portál AbcLinuxu, 26. prosince 2025 13:51
int main(void)
{
double x = 5.0, y = 2.0;
double result;
result = fmod(x, y);
printf("Zbytek pri (%lf / %lf) je %lf\n", x, y, result);
return 0;
}
man fmod. Je to prostě definice a té tato funkce plně vyhovuje.
d je nějaké reálné číslo (typu double, tak jeho desetinná část se získá takto:
double d; ... d -= floor(d);
fmod(x, y)/y
double fmod(double a, double b) {
return a - ((long int) a / (long int) b) * (long int) b;
}
Tak kde je tedy ten pes zakopany?
double cos2(double x) {
x /= 2 * M_PI;
x -= floor(x);
x *= 2 * M_PI;
x *= x;
double v[4] = { 0, 0, 1, 1 };
double mul = 1;
double fakt = 1;
unsigned long int n;
unsigned int i = 0;
for (n = 1; v[0] != v[2] && v[1] != v[3];) {
v[i + 2] = v[i];
v[i] += mul / fakt;
mul *= x;
fakt *= n++;
fakt *= n++;
i ^= 1;
}
return v[0] - v[1];
}
. Vyresim na zaklade dobre rady to takto:
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.