Вопрос задан 11.07.2023 в 20:57. Предмет Информатика. Спрашивает Смаковский Серёжа.

Заданы координаты трех вершин треугольника (x1,y1), (x2,y2), (x3,y3). Найти его периметр и

площадь.Напишите программу на языке C#.
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Бойко Олька.

Ответ:

class Program

   {

       struct cr

       {

           public double x, y, l;

       };

       static void Main(string[] args)

       {

           cr[] pn = new cr[3];

           double p = 0;

           for (int i = 0; i < 3; i++)

           {

               Console.Write("Введите X{0}:", i + 1);

               pn[i].x = Double.Parse(Console.ReadLine());

               Console.Write("Введите Y{0}:", i + 1);

               pn[i].y = Double.Parse(Console.ReadLine());

           }

           for (int i = 0; i < 3; i++)

           {

               if (i < 2)

                   pn[i].l = Math.Sqrt((pn[i].x - pn[i + 1].x) * (pn[i].x - pn[i + 1].x) +

                                       (pn[i].y - pn[i + 1].y) * (pn[i].y - pn[i + 1].y));

               else

                   pn[i].l = Math.Sqrt((pn[i].x - pn[0].x) * (pn[i].x - pn[0].x) +

                                       (pn[i].y - pn[0].y) * (pn[i].y - pn[0].y));

               p += pn[i].l;

           }

           Console.WriteLine("Периметр P={0}", p);

           p /= 2;

           Console.WriteLine("Площадь  S={0}",  

               Math.Sqrt(p * (p - pn[0].l) * (p - pn[1].l) * (p - pn[2].l)));

           Console.ReadKey();

       }

   }

Объяснение:

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Конечно! Вот пример программы на языке C#, которая находит периметр и площадь треугольника, заданного координатами его трех вершин:

csharp
using System; class Program { static void Main(string[] args) { Console.WriteLine("Введите координаты вершин треугольника:"); Console.WriteLine("Вершина A (x1, y1):"); double x1 = double.Parse(Console.ReadLine()); double y1 = double.Parse(Console.ReadLine()); Console.WriteLine("Вершина B (x2, y2):"); double x2 = double.Parse(Console.ReadLine()); double y2 = double.Parse(Console.ReadLine()); Console.WriteLine("Вершина C (x3, y3):"); double x3 = double.Parse(Console.ReadLine()); double y3 = double.Parse(Console.ReadLine()); double sideAB = CalculateDistance(x1, y1, x2, y2); double sideBC = CalculateDistance(x2, y2, x3, y3); double sideCA = CalculateDistance(x3, y3, x1, y1); double perimeter = sideAB + sideBC + sideCA; double semiperimeter = perimeter / 2; double area = Math.Sqrt(semiperimeter * (semiperimeter - sideAB) * (semiperimeter - sideBC) * (semiperimeter - sideCA)); Console.WriteLine("Периметр треугольника: " + perimeter); Console.WriteLine("Площадь треугольника: " + area); } static double CalculateDistance(double x1, double y1, double x2, double y2) { double dx = x2 - x1; double dy = y2 - y1; return Math.Sqrt(dx * dx + dy * dy); } }

Программа запрашивает у пользователя координаты трех вершин треугольника, вычисляет длины его сторон с помощью функции CalculateDistance, а затем использует формулу Герона для вычисления площади и сумму сторон для вычисления периметра. Результаты выводятся на экран.

Обратите внимание, что в этом примере не проводится проверка на то, что введенные точки действительно образуют треугольник.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос