Заданы координаты четырех точек на плоскости. Эти точки соединены
прямыми. Найти площадь данного четырехугольника.
C#
C# Помогите решить задачу! Нужен полный код!
Выше Jurijus привел ссылку на статью в Википедии.
Возьмем из этой статьи последнюю формулу (см. картинку) и реализуем ее на C#:
double S = 0.5 * Math.Abs((x1 - x2) * (y1 + y2) + (x2 - x3) * (y2 + y3) + (x3 - x4) * (y3 + y4) + (x4 - x1) * (y4 + y1));
0.5 — это наша одна вторая (см. картинку).
Math.Abs — это математическая функция, определяющая |модуль числа|.
Полный код метода Main потребует ввода координат, преобразования их текста в числа и вывода результата:
Console.WriteLine("Введите координаты четырех точек, по одному числу на строчку: ");
double x1 = double.Parse(Console.ReadLine());
double y1 = double.Parse(Console.ReadLine());
double x2 = double.Parse(Console.ReadLine());
double y2 = double.Parse(Console.ReadLine());
double x3 = double.Parse(Console.ReadLine());
double y3 = double.Parse(Console.ReadLine());
double x4 = double.Parse(Console.ReadLine());
double y4 = double.Parse(Console.ReadLine());
double S = 0.5 * Math.Abs((x1 - x2) * (y1 + y2) + (x2 - x3) * (y2 + y3) + (x3 - x4) * (y3 + y4) + (x4 - x1) * (y4 + y1));
Console.WriteLine("Площадь четырехугольника равна " + S);
Осталось самое простое: проверить, что программа работает и считает верно. Я не запускал и не проверял, дело за вами.

Возьмем из этой статьи последнюю формулу (см. картинку) и реализуем ее на C#:
double S = 0.5 * Math.Abs((x1 - x2) * (y1 + y2) + (x2 - x3) * (y2 + y3) + (x3 - x4) * (y3 + y4) + (x4 - x1) * (y4 + y1));
0.5 — это наша одна вторая (см. картинку).
Math.Abs — это математическая функция, определяющая |модуль числа|.
Полный код метода Main потребует ввода координат, преобразования их текста в числа и вывода результата:
Console.WriteLine("Введите координаты четырех точек, по одному числу на строчку: ");
double x1 = double.Parse(Console.ReadLine());
double y1 = double.Parse(Console.ReadLine());
double x2 = double.Parse(Console.ReadLine());
double y2 = double.Parse(Console.ReadLine());
double x3 = double.Parse(Console.ReadLine());
double y3 = double.Parse(Console.ReadLine());
double x4 = double.Parse(Console.ReadLine());
double y4 = double.Parse(Console.ReadLine());
double S = 0.5 * Math.Abs((x1 - x2) * (y1 + y2) + (x2 - x3) * (y2 + y3) + (x3 - x4) * (y3 + y4) + (x4 - x1) * (y4 + y1));
Console.WriteLine("Площадь четырехугольника равна " + S);
Осталось самое простое: проверить, что программа работает и считает верно. Я не запускал и не проверял, дело за вами.

Владимир Кудаев
Спасибо Вам огромнейшее! Все прекрасно работает! Вы очень сильно мне помогли, спасибо Вам еще раз!!!
Формула площади здесь: https ://ru.wikipedia. org/wiki/%D0%A7%D0%B5%D1%82%D1%8B%D1%80%D1%91%D1%85%D1%83%D0%B3%D0%BE%D0%BB%D1%8C%D0%BD%D0%B8%D0%BA#%D0%9F%D0%BB%D0%BE%D1%89%D0%B0%D0%B4%D1%8C
Все длины сторон и диагоналей находятся из теоремы Пифагора.
Собссно, разминка для пальцев, развлекайся...
Все длины сторон и диагоналей находятся из теоремы Пифагора.
Собссно, разминка для пальцев, развлекайся...
Владимир Кудаев
Я только начал изучать C#, поэтому пожалуйста, напишите, если Вам не трудно, полный код решения.
int S = Math.Abs((X2 - X1) * (Y2 - Y1));
Rahman Ubaidulla
Точек всего четыре, они могут быть расположены как угодно, и это не обязательно прямоугольник.
Похожие вопросы
- Помогите решить задачу C#! С помощью switch case.
- Помогите решить задачу на c#
- Помогите решить задачу на С#
- Помогите решить задачу на с#
- Помогите решить простую задачу на c#
- C#: помогите, пожалуйста, исправить код
- Решить задачу через C#
- Помогите с задачей по c#
- Решить задачи C#
- Помогите написать задачу на C#