Zdravím, nevím si rady s tímto zadáním.
Áčko sem zvládl a částečně i B, ale tam mám problém, že se mi do pole koef[] zapíše pouze jedna hodnota. Cčko funguje jak má.
Dčko mám napsanou rovnici pro výpočet kořenů, ale výsledek mi hází [0] -nan(ind) double.
S Éčkem není problém. Nevíte někdo jak na to? Drbal sem se s tím celej včerejšek, ale nic co by fungovalo mě nenapadlo.
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<math.h>
#include<string.h>
#define RE 0
#define IM 1
#define D(A, B, C) ((B*B)-(4*A*C))
double cti(double aKoef[]);
void koreny(double aKoef[], double aX1[], double aX2[], double disk);
int main()
{
double koef[3] = { 0 };
double x1[2] = { 0 };
double x2[2] = { 0 };
// double r=cti(koef);
double s = D(koef[0], koef[1], koef[2]);
koreny(koef, x1, x2, s);
return 0;
}
double cti(double aKoef[])
{
printf("Zadej koeficienty rovnice:\n");
scanf("%lf", aKoef);
return (strlen(aKoef));
}
void koreny(double aKoef[], double aX1[], double aX2[], double disk)
{
double vysledek;
if (RE >= disk)
{
aX1[0] = ((-aKoef[1] + sqrt(disk)) / 2 * aKoef[0]);
aX2[0] = ((-aKoef[1] - sqrt(disk)) / 2 * aKoef[0]);
}
else
{
aX1[0] = ((-aKoef[1] + sqrt(-disk)) / 2 * aKoef[0]);
aX2[0] = ((-aKoef[1] - sqrt(-disk)) / 2 * aKoef[0]);
}
}