Language: C

#include<stdio.h>
#include<math.h>
#include<string.h>
/*
三辺a,b,c
s=(a+b+c)/2
S={s(s-a)(s-b)(s-c)}^(1/2)

*/

double check(double a,double b,double c){
	double s,S;
	
	s=(a+b+c)/2;
	
	S=sqrt(s*(s-a)*(s-b)*(s-c));
	
	return S;
}
	

int main(void){
	double x[4],y[4],s,t,a,b,c,s1,s2;
	int i,l,f,c1[20],c2[20];
	
	while(1){
		//for(i=0;i<4;i++)scanf("%lf,%lf,",&x[i],&y[i]);
		for(i=0;i<20;i++){
			c1[i]=NULL;
			c2[i]=NULL;
		}
		scanf("%lf,%lf,%lf,%lf,%lf,%lf,%lf,%lf",&x[0],&y[0],&x[1],&y[1],&x[2],&y[2],&x[3],&y[3]);
		s1=s2=0;
		//点acで区切った三角形
		//+b
		a=sqrt(pow((x[0]-x[2]),2)+pow((y[0]-y[2]),2));
		b=sqrt(pow((x[0]-x[1]),2)+pow((y[0]-y[1]),2));
		c=sqrt(pow((x[1]-x[2]),2)+pow((y[1]-y[2]),2));
		s1+=check(a,b,c);
		
		//+d
		a=sqrt(pow((x[0]-x[2]),2)+pow((y[0]-y[2]),2));
		b=sqrt(pow((x[0]-x[3]),2)+pow((y[0]-y[3]),2));
		c=sqrt(pow((x[3]-x[2]),2)+pow((y[3]-y[2]),2));
		s1+=check(a,b,c);
		
		
		//点bdで区切った三角形
		//+a
		a=sqrt(pow((x[1]-x[3]),2)+pow((y[1]-y[3]),2));
		b=sqrt(pow((x[0]-x[1]),2)+pow((y[0]-y[1]),2));
		c=sqrt(pow((x[0]-x[3]),2)+pow((y[0]-y[3]),2));
		s2+=check(a,b,c);
		
		//+c
		a=sqrt(pow((x[1]-x[3]),2)+pow((y[1]-y[3]),2));
		b=sqrt(pow((x[2]-x[1]),2)+pow((y[2]-y[1]),2));
		c=sqrt(pow((x[2]-x[3]),2)+pow((y[2]-y[3]),2));
		s2+=check(a,b,c);
		
		sprintf(c1,"%lf",s1);
		sprintf(c2,"%lf",s2);
		
		if(strcmp(c1,c2)==0){
			printf("YES\n");
			continue;
		}
		else{
			printf("NO\n");
			break;
		}
		
	}
	
	return 0;
}
	
	
	

Compiler output:
main.c: In function 'main':
main.c:29:30: error: assignment to 'int' from 'void *' makes integer from pointer without a cast [-Wint-conversion]
   29 |                         c1[i]=NULL;
      |                              ^
main.c:30:30: error: assignment to 'int' from 'void *' makes integer from pointer without a cast [-Wint-conversion]
   30 |                         c2[i]=NULL;
      |                              ^
main.c:61:25: error: passing argument 1 of 'sprintf' from incompatible pointer type [-Wincompatible-pointer-types]
   61 |                 sprintf(c1,"%lf",s1);
      |                         ^~
      |                         |
      |                         int *
In file included from main.c:1:
/usr/include/stdio.h:365:38: note: expected 'char * restrict' but argument is of type 'int *'
  365 | extern int sprintf (char *__restrict __s,
      |                     ~~~~~~~~~~~~~~~~~^~~
main.c:62:25: error: passing argument 1 of 'sprintf' from incompatible pointer type [-Wincompatible-pointer-types]
   62 |                 sprintf(c2,"%lf",s2);
      |                         ^~
      |                         |
      |                         int *
/usr/include/stdio.h:365:38: note: expected 'char * restrict' but argument is of type 'int *'
  365 | extern int sprintf (char *__restrict __s,
      |                     ~~~~~~~~~~~~~~~~~^~~
main.c:64:27: error: passing argument 1 of 'strcmp' from incompatible pointer type [-Wincompatible-pointer-types]
   64 |                 if(strcmp(c1,c2)==0){
      |                           ^~
      |                           |
      |                           int *
In file included from main.c:3:
/usr/include/string.h:156:32: note: expected 'const char *' but argument is of type 'int *'
  156 | extern int strcmp (const char *__s1, const char *__s2)
      |                    ~~~~~~~~~~~~^~~~
main.c:64:30: error: passing argument 2 of 'strcmp' from incompatible pointer type [-Wincompatible-pointer-types]
   64 |                 if(strcmp(c1,c2)==0){
      |                              ^~
      |                              |
      |                              int *
/usr/include/string.h:156:50: note: expected 'const char *' but argument is of type 'int *'
  156 | extern int strcmp (const char *__s1, const char *__s2)
      |                                      ~~~~~~~~~~~~^~~~