Witam! Stworzyłem program w którym podajemy współrzędne punktowe trójkąta a program wyliczy nam pole tego obiektu. Nie wiem dlaczego ale nie poprawnie działa mi chyba funkcja parametry(), gdy wstawiam zawartosc funkcji do mein program zachowuje sie tak jak powinien. Prosze o pomoc!
#include <stdio.h>
#include <string.h>
#include <math.h>
struct trojkat {
int bokA[2];
int bokB[2];
int bokC[2];
double dl_1,dl_2,dl_3;
double koniec;
};
double oblicz_dl_odcinka(int x1, int x2, int y1, int y2)
{
double wynik;
wynik = sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1));
return wynik;
}
double oblicz_pl_odcinka(double a, double b, double c)
{
double pole;
pole=(a+b+c)/2;
return pole;
}
void printwypisz( struct trojkat wypisz );
void printwypisz( struct trojkat wypisz ) {
printf("\n%5.2f", wypisz.dl_1);
printf("\n%5.2f", wypisz.dl_2);
printf("\n%5.2f\n\n", wypisz.dl_3);
printf("wynik= %5.2f\n", wypisz.koniec);
}
void parametry(){
struct trojkat wypisz1;
printf("\nPodaj X A:"); scanf("%d",&wypisz1.bokA[0]);
printf("\nPodaj Y A:"); scanf("%d",&wypisz1.bokA[1]);
printf("\nPodaj X B:"); scanf("%d",&wypisz1.bokB[0]);
printf("\nPodaj Y B:"); scanf("%d",&wypisz1.bokB[1]);
printf("\nPodaj X C:"); scanf("%d",&wypisz1.bokC[0]);
printf("\nPodaj Y C:"); scanf("%d",&wypisz1.bokC[1]);
}
int main() {
parametry();
struct trojkat wypisz1;
wypisz1.dl_1=oblicz_dl_odcinka(wypisz1.bokA[0],wypisz1.bokB[0],wypisz1.bokA[1],wypisz1.bokB[1]);
wypisz1.dl_2=oblicz_dl_odcinka(wypisz1.bokB[0],wypisz1.bokC[0],wypisz1.bokB[1],wypisz1.bokC[1]);
wypisz1.dl_3=oblicz_dl_odcinka(wypisz1.bokC[0],wypisz1.bokA[0],wypisz1.bokC[1],wypisz1.bokA[1]);
wypisz1.koniec=oblicz_pl_odcinka(wypisz1.dl_1,wypisz1.dl_2,wypisz1.dl_3);
printwypisz(wypisz1);
return 0;
}