#include <stdio.h>
#include <math.h>
int rizes(float a, float b, float c, float *x1, float *x2);
main()
{
float a,b,c,riza1,riza2;
int plithos;
/* 1. Diavasma tis eisodou */
printf("Dwse to a: ");
scanf("%f",&a);
printf("Dwse to b: ");
scanf("%f",&b);
printf("Dwse to c: ");
scanf("%f",&c);
/* 2. Ypologismos rizwn */
plithos=rizes(a,b,c,&riza1, &riza2);
/* 3. Ektypwsi tou apotelesmatos */
if (plithos==0)
printf("Den exei pragmatikes rizes");
else if (plithos==1)
printf("Exei dipli riza tin %f", riza1);
else
printf("Exei rizes: %f kai %f", riza1, riza2);
}
int rizes(float a, float b, float c, float *x1, float *x2)
{
float D;
D=b*b-4*a*c;
if (D<0)
return 0;
else if (D==0)
{
*x1 = -b/(2*a);
return 1;
}
else
{
*x1=(-b+sqrt(D))/(2*a);
*x2=(-b-sqrt(D))/(2*a);
return 2;
}
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxtYXRoLmg+CgppbnQgcml6ZXMoZmxvYXQgYSwgZmxvYXQgYiwgZmxvYXQgYywgZmxvYXQgKngxLCBmbG9hdCAqeDIpOwoKbWFpbigpCnsKCWZsb2F0IGEsYixjLHJpemExLHJpemEyOwoJaW50IHBsaXRob3M7CgkKCS8qIDEuIERpYXZhc21hIHRpcyBlaXNvZG91ICovCgkKCXByaW50ZigiRHdzZSB0byBhOiAiKTsKCXNjYW5mKCIlZiIsJmEpOwoJCglwcmludGYoIkR3c2UgdG8gYjogIik7CglzY2FuZigiJWYiLCZiKTsKCglwcmludGYoIkR3c2UgdG8gYzogIik7CglzY2FuZigiJWYiLCZjKTsJCgoJLyogMi4gWXBvbG9naXNtb3Mgcml6d24gKi8KCXBsaXRob3M9cml6ZXMoYSxiLGMsJnJpemExLCAmcml6YTIpOwoJCgkvKiAzLiBFa3R5cHdzaSB0b3UgYXBvdGVsZXNtYXRvcyAqLwoJCglpZiAocGxpdGhvcz09MCkKCQlwcmludGYoIkRlbiBleGVpIHByYWdtYXRpa2VzIHJpemVzIik7CgllbHNlIGlmIChwbGl0aG9zPT0xKQoJCXByaW50ZigiRXhlaSBkaXBsaSByaXphIHRpbiAlZiIsIHJpemExKTsKCWVsc2UgCgkJcHJpbnRmKCJFeGVpIHJpemVzOiAlZiBrYWkgJWYiLCByaXphMSwgcml6YTIpOwoJCn0KCmludCByaXplcyhmbG9hdCBhLCBmbG9hdCBiLCBmbG9hdCBjLCBmbG9hdCAqeDEsIGZsb2F0ICp4MikKewoJZmxvYXQgRDsKCQoJRD1iKmItNCphKmM7CgkKCWlmIChEPDApCgkJcmV0dXJuIDA7CgllbHNlIGlmIChEPT0wKQoJewoJCSp4MSA9IC1iLygyKmEpOwoJCXJldHVybiAxOwoJfQoJZWxzZSAKCXsKCQkqeDE9KC1iK3NxcnQoRCkpLygyKmEpOwoJCSp4Mj0oLWItc3FydChEKSkvKDIqYSk7CgkJcmV0dXJuIDI7Cgl9Cn0K