home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / unix / volume17 / contest-prog / part02 / prob17.c < prev    next >
C/C++ Source or Header  |  1989-02-06  |  787b  |  47 lines

  1. #include <stdio.h>
  2. main(){
  3.     int z,s,x[4],y[4],tx,ty,xi,yi,abig,area();
  4.     char *p;
  5.     int t=0,i,k;
  6.     while( scanf("%d%d",&x[1],&y[1]) == 2){
  7.     scanf("%d%d",&x[2],&y[2]);
  8.     scanf("%d%d",&x[3],&y[3]);
  9.     t++;
  10.     for(k=1;k<=7;k++){
  11.     scanf("%d%d",&tx,&ty);
  12.     abig=area(x,y);
  13.     s=(int)0;
  14.     for(i=1;i<=3;i++){
  15.         xi=x[i];
  16.         x[i]=tx;
  17.         yi=y[i];
  18.         y[i]=ty;
  19.         s +=area(x,y);
  20.         x[i]=xi;
  21.         y[i]=yi;
  22.  
  23.     }
  24.     z=s-abig;
  25.     if(z<0)z= -z;
  26.     if(z==0){
  27. /*    fprintf(stderr,"yes\n");*/
  28.     p="inside";}
  29.     else {
  30. /*    fprintf(stderr,"no\n");*/
  31.     p="outside";}
  32.     printf("%d %d is %s triangle %d\n",(int)(tx),(int)(ty),p,t);
  33. /*    fprintf(stderr,"\n");*/
  34.     }
  35.     }
  36. }
  37. int area(x,y)
  38. int x[],y[];
  39. {
  40.     int z;
  41.     z= (x[1]*y[2]-x[1]*y[3]+x[2]*y[3]-x[2]*y[1]+x[3]*y[1]-x[3]*y[2]);
  42. /*    z= z ;*/
  43.     if(z<0)z = -z;
  44. /*    fprintf(stderr,"area=%d ",z);*/
  45.     return z;
  46. }
  47.