Напишите функцию, вычисляющую длину отрезка по координатам его концов. С помощью этой функции напишите программу, вычисляющую периметр треугольника по координатам трех его вершин. Формат ввода
На вход программе подается 6 целых чисел — координат x1, y1, x2, y2, x3, y3 вершин треугольника. Все числа по модулю не превосходят 30000. Формат вывода
Выведите значение периметра этого треугольника с точностью до 6 знаков после десятичной точки. Пример 1
Ввод
0 0 1 0 0 1
Вывод 3.4142135624
using System;
namespace zp
{
class Program
{
static void Main(string[] args)
{
string[] t = Console.ReadLine().Split();
int x1 = int.Parse(t[0]);
int y1 = int.Parse(t[1]);
int x2 = int.Parse(t[2]);
int y2 = int.Parse(t[3]);
int x3 = int.Parse(t[4]);
int y3 = int.Parse(t[5]);
double l = Math.Sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2));
l += Math.Sqrt((x1 - x3) * (x1 - x3) + (y1 - y3) * (y1 - y3));
l += Math.Sqrt((x3 - x2) * (x3 - x2) + (y3 - y2) * (y3 - y2));
Console.WriteLine("{0:f6}", l);
}
}
}
Решала на С#, не могу понять, что не так. Буду очень благодарна, если поможете переделать
Судя по заданию, вы про "напишите функцию" забыли.
Еще поправил запятую в выводе на точку.
class Program
{
static void Main(string[] args)
{
string[] t = Console.ReadLine().Split();
int x1 = int.Parse(t[0]);
int y1 = int.Parse(t[1]);
int x2 = int.Parse(t[2]);
int y2 = int.Parse(t[3]);
int x3 = int.Parse(t[4]);
int y3 = int.Parse(t[5]);
double l = LineLength(x1, y1, x2, y2);
l += LineLength(x1, y1, x3, y3);
l += LineLength(x3, y3, x2, y2);
Console.WriteLine(l.ToString("F6", CultureInfo.InvariantCulture));
}
static double LineLength(int x1, int y1, int x2, int y2)
{
return Math.Sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2));
}
}
Вывод
0 0 1 0 0 1
3.414214
Продвижение своими сайтами как стратегия роста и независимости