Diskuze: Proc to nejde?
V předchozím kvízu, Online test znalostí C++, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 6 zpráv z 6.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí C++, jsme si ověřili nabyté zkušenosti z kurzu.
Důvod proč to nefunguje je ten, že výrazy v podmíněném příkazu se vyhodnocují postupně. Výsledkem porovnání dvou výrazů je logická 1 nebo 0. Tu chybně porovnáváš s hodnotou která taková není.
Pro načtení celočíselné proměnné se nepoužívá formátování %g, ale %d nebo %i.
Na závěr dvě rady:
Takže takhle nějak...
#include <stdio.h>
int main(void)
{
int a, b, c, d;
printf("a =", &a);
scanf("%d", &a);
printf("b =", &b);
scanf("%d", &b);
printf("c =", &c);
scanf("%d", &c);
printf("d =", &d);
scanf("%d", &d);
if ((d - c == c - b) && (c - b == b - a))
printf("Aritmeticka posloupnost");
else if ((d / c == c / b) && ( c / b == b / a))
printf("Geometricka posloupnost");
else
printf("Ani jedno");
return 0;
}
Zobrazeno 6 zpráv z 6.