C#

C#. Написать программу для нахождения периметра и площади треугольника. СТороны вводить с клавиатуры

Напишите пожалуйста программу.
Alimzhan Hakim
Alimzhan Hakim
7 199
using System;

namespace ConsoleApp3
{
class Program
{
static void Main(string[] args)
{
Console.Write("a b c = ");
String[] str = Console.ReadLine().Split(' ');
double a = Convert.ToDouble(str[0]);
double b = Convert.ToDouble(str[1]);
double c = Convert.ToDouble(str[2]);
if (a + b > c && a + c > b && b + c > a)
{
double P = a + b + c;
double p = P / 2.0;
double S = Math.Sqrt(p * (p - a) * (p - b) * (p - c));
Console.WriteLine($"P = {P}");
Console.WriteLine($"S = {S}");
}
}
}
}
GG
G G
11 953
Лучший ответ
Alimzhan Hakim Огромное спасибо вам Александр!
using System;
namespace CSharp_Shell
{ public static class Program
{ public static decimal sqrt(decimal x)
{ if (x == 0) return 0;
decimal y = 1, ynew;
while (true) { ynew = (y + x / y) / 2;
if (y == ynew) return y; y = ynew; } }
public static void Main()
{ decimal a, b, c, p, s; for (;;) {
Console.Write("a b c » ");
var line = Console.ReadLine().Split(" ");
a = decimal.Parse(line[0]);
b = decimal.Parse(line[1]);
c = decimal.Parse(line[2]);
if (a <= 0 || b <= 0 || c <= 0 ||
a + b <= c || b + c <= a || c + a <= b)
Console.WriteLine
("Такого треугольника не существует !");
else { p = (a + b + c) / 2;
Console.WriteLine("Периметр " + (a + b + c));
s = sqrt(p * (p - a) * (p - b) * (p - c));
if (s == (int)s) s = (int)s;
Console.WriteLine("Площадь " + s); } } } } }
Ваня Назаренко
Ваня Назаренко
29 440
Alimzhan Hakim Спасибочки большое Машечка!