Witam, to znów ja! :) Tym razem zadanie przedstawia się następująco: t testów, w każdym n przypadków liczb a,b,c (boków trójkąta), których pole mam obliczyć (każdy przypadek zsumować) i podać wynik (*k/10 występuje, ponieważ w treści są podane długości boków w centymetrach, k - zużycie kredy w kg/m^2, a wynik ma być w gramach) zaokrąglony do najbliższej liczby całkowitej. Niestety program nie zawsze wypisuje poprawne odpowiedzi, ktoś ma pomysł dlaczego?
#include <stdio.h>
#include <math.h>
int main(void){
int a,b,c,t,n,wypisz;
double k,wynik,pole,p;
scanf("%d",&t);
while(t--){
scanf("%d%lf",&n,&k);
wynik=0.0;
while(n--){
scanf("%d%d%d",&a,&b,&c);
if(a+b>=c&&a+c>=b&&b+c>=a){
p=(a+b+c)/2;
pole=sqrt(p*(p-a)*(p-b)*(p-c));
wynik+=pole;
}
}
wynik=wynik*k/10;
wypisz=(int)(wynik+(0.5));
printf("%d\n",wypisz);
}
return 0;
}