Witam mam do napisania program o treści
Wczytaj współrzędne 4 punktów (x,y) i wypisz pola wszystkich możliwych trójkątów zbudowanych na tych punktach. Zastosuj funkcję obliczającą pole trójkąta.
Jako iż dopiero raczkuje z programowaniem nie moge sobie poradzić z nim, nie wiem co robie nie tak, z materiałów znalezionych w internecie ciężko jest mi ogarnąć jak robić funkcje, czy mógłby ktoś wytknąć mi mój błąd i naprowadzić na poprawne rozwiązanie? Z góry Dziękuje.
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include<time.h>
float pole (float x1,float y1,float x2,float y2,float x3,float y3)
{
float pole,pl;
pl= (x2-x1)*(y3-y1)-(y2-y1)*(x3-x1);
if (pl>0) {pole=pl/2;}
else {pole=(pl*-1)/2;}
return pole;
}
int main (void)
{
int ty[4],tx[4];
int x,yi,k,l=0,m,n,o,p,r;
float a,b,c,d,e,f,x1,x2,mx,x3,y1,y2,y3,tz[100];
for(k=0;k<4;k++){
printf("Podaj x i y\n");
scanf("%d%d",&tx[k],&ty[k]);
}
tz[0]=pole(tx[0],ty[0],tx[1],ty[1],tx[2],ty[2]);
tz[1]=pole(tx[0],ty[0],tx[1],ty[1],tx[3],ty[3]);
tz[2]=pole(tx[0],ty[0],tx[3],ty[3],tx[2],ty[2]);
tz[3]=pole(tx[3],ty[3],tx[1],ty[1],tx[2],ty[2]);
mx=tz[0];
while(l<4){
if(tz[l]>mx){mx=tz[l];}
l++;
}
printf("%f\n",mx);
for(k=0;k<4;k++)
{
printf("%d %d\n",ty[k],tx[k]);
}
}
void main()
to też jest poprawnie ;-P