12012(с основанием 3)= 140 (с основанием 10)
10302(с основанием 4)= 306 (с основанием 10)
140+306=446
446 (с основанием 10) = 1BE (с основанием 16)
В основу решения возьму тот факт, что точка лежит внутри треугольника только в том случае, если сумма площадей трех образованных этой точкой и вершинами треугольников треугольников равна площади самого треугольника. Для нахождения площади треугольников использую формулу векторного произведения, деленного пополам.
#include <stdio.h>
#include <stdlib.h>
using namespace std;
int main() {
int x1, y1, x2, y2, x3, y3, x0, y0;
scanf("%d%d%d%d%d%d%d%d", &x1, &y1, &x2, &y2, &x3, &y3, &x0, &y0);
if (abs((x1 - x0) * (y2 - y0) - (x2 - x0) * (y1 - y0)) +
abs((x1 - x3) * (y0 - y3) - (x0 - x3) * (y1 - y3)) +
abs((x0 - x3) * (y2 - y3) - (x2 - x3) * (y0 - y3)) ==
abs((x1 - x3) * (y2 - y3) - (x2 - x3) * (y1 - y3)))
{
printf("YES");
} else {
printf("NO");
}
return 0;
}<span />
program z1; (Начало программы)
var n, s, i, c:integer; (Раздел описания переменных, n(кол-во чисел), s(сумма чисел), i(счетчик), с(число, введенное с клавиатуры))
begin (тело программы)
writeln ('Кол-во чисел?'); (подсказка для пользавателя)
readln (n); (считывание переменной)
s:=0; (обнуляем переменную)
For i:= 1 to n do begin (цикл будет повторяться от 1 до N; т.к в цикле будет несколько действий открываем операторные скобки (begin\end), начало цикла)
writeln ('Введите число'); (подсказка для пользавателя)
readln(c); (считывание переменной)
If c>0 then s:=s+c; (если с>0 тогда к сумме мы прибавляем число)
end; (конец цикла)
writeln ('Сумма=',s); (подсказка для пользавателя и ответ)
readln(s); (считывание переменной)
readln; (считывание)
end.(конец программы)