#include <iostream>
#include <cmath>
using namespace std;
float polet(int x1, int y1, int x2, int y2, int x3, int y3) {
float x = abs(x2-x1) + abs(y2-y1);
float y = abs(x3-x2) + abs(y3-y2);
float z = abs(x3-x1) + abs(y3-y1);
float p = (x + y + z)/2;
int s = sqrt(p*(p-x)*(p-y)*(p-z));
return s;
}
int main() {
int x1, y1, x2, y2, x3, y3;
cout << "Podaj wspolrzedne pierwszego wierzcholka: ";
cin >> x1 >> y1;
cout << "Podaj wspolrzedne drugiego wierzcholka: ";
cin >> x2 >> y2;
cout << "Podaj wspolrzedne trzeciego wierzcholka: ";
cin >> x3 >> y3;
cout << "Pole trojkata wynosi: " << polet(x1, y1, x2, y2, x3, y3) << endl;
return 0;
}
Mój program wylicza boki z wierzchołków poprawnie, lecz gdy tylko robie wzór herona jako wynik pokazuje zawsze 0 (dla innych wzorów nie wysepuje ten problem);