Program v C - kvadratická rovnice
Moderátor: Moderátoři
Program v C - kvadratická rovnice
Můj kód:
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
int main(void)
{
int xlin, r, i, a, b, c, D;
double x1, x2;
c
scanf("%d", &c);
return 0;
}
Dále bych projel celé nasnímané pole,a znak po znaku paranoidně kontroloval, jestli je v povolené množině, tj. +, -, desetinná tečka a cifra. Cifra se pozná podle binární hodnoty znaku v rozmezí 0x30 - 0x39. Dál je možno uplatňovat dodatečná pravidla - desetiná tečka smí být jen jednou, po ní už jen cifry a tak dále.
Nerozumím tomuto:
if (a == 0)
{
printf("\n Rovnice je linearni \n");
xlin = ((b + c) == 0);
}
To do xlin vloží buď 0 nebo jako výsledek nesrovnání nebo nenulu (závisí na implementaci překladače).
1) Nemůžete předpokládat, že true se bude konvertovat do (int)1.
2) Pokud bude například b = 2, c = -4, tak xlin má být 2, ale u vás bude výsledek 0.
mtajovsky píše:To do xlin vloží buď 0 nebo jako výsledek nesrovnání nebo nenulu (závisí na implementaci překladače).
1) Nemůžete předpokládat, že true se bude konvertovat do (int)1.
2) Pokud bude například b = 2, c = -4, tak xlin má být 2, ale u vás bude výsledek 0.
A když tam dám:
if (a == 0)
{
printf("\n Rovnice je linearni \n");
xlin = b/c;
}
???
Jak mám přilepit k výsledku imaginární jednotku i? Jinak v C jsem naprostý začátečník.