#include <iostream>

using namespace std;

int * get_triangle_coordinates(){ // получение и запись координат треугольника
    int *triangle = new int [6]; // создание массива на 6 элементов (3 на x координаты, 3 на y координаты)

    for (int i = 0; i < 6; i++){
        cout << "Введите " << i+1 << " координату: ";
        cin >> triangle[i];
    }

    return triangle; // возврат массива с координатами
} 

int get_triangle_square(int *triangle){ // вычисление площади треугольника
    int square;
    // подсчёт площади треугольника по формуле: S = |(x1 - x3) * (y2 - y3) - (x2 - x3) * (y1 - y3)| / 2
    square = abs((triangle[0] - triangle[4]) * (triangle[3] - triangle[5]) - (triangle[2] - triangle[4]) * (triangle[1] - triangle[5])) / 2;

    return square; // возвращение значения площади
}

void get_result(int *squares){ // сравнение площадей 2 треугольников
    if (squares[0] > squares[1]){
        cout << "\nПлощадь 1 треугольника больше, чем 2.\n";
    }
    else if (squares[0] < squares[1]){
        cout << "\nПлощадь 2 треугольника больше, чем 1.\n";
    } 
    else {
        cout << "\nТреугольники равны.\n";
    }
}

int main(){
    int **triangles = new int * [2]; // инициализация двумерного массива для хранения координат 2 треугольников
    int *squares = new int [2]; // инициализация одномерного массива для хранения площадей 2 треугольников

    for (int i = 0; i < 2; i++){ // получение координат треугольников
        cout << "\nВведите координаты " << i+1 << " треугольника\n";
        triangles[i] = get_triangle_coordinates();
    }

    for (int i = 0; i < 2; i++){ // получение значений площадей 2 треугольников
        squares[i] = get_triangle_square(triangles[i]);
    }

    get_result(squares); // сравнение площадей

    // удаление динамических массивов для очистки памяти
    for (int i = 0; i < 2; i++){
        delete[] triangles[i];
    }

    delete[] triangles;
    delete[] squares;

    return 0;
}