Треугольник существует, если a < (b+c), b < (a+c), c < (a + b) Он равносторонний, если a=b=c Он равнобедренный, если a=b!=c, a=c!=b, b=c!=a (!= всмысле не равно) Иначе произвольный Разве не очевидно?
Програмка на питоне: https://pastebin.com/raw/fKQqvfDb Там я сначала проверяю, что треугольник существует, потом проверяю, что две его любые стороны равны. Если при этом ещё и сумма всех сторон делённая на 3 равна одной из них, то они все равны => он равносторонний. Иначе он равнобедренный. Если условие про равенство двух сторон не выполняется, то он - произвольный. Как упростить - не знаю.
// PascalABC.NET 3.3, сборка 1542 от 05.10.2017 // Внимание! Если программа не работает, обновите версию!
begin var s:=ReadlnString('Введите текст, оканчивающийся точкой:'+NewLine); var p:=Pos('.',s); if p>0 then s:=s[:p]; // обрезать лишнее var a:=s.ToWords; var sb:=a.Select(w->w.Length); var max:=sb.Max; Writeln('Количество слов максимальной длины равно ', sb.Where(x->x=max).Count) end.
Пример Введите текст, оканчивающийся точкой: мама мыла раму маша ела кашу. А это не считается! Количество слов максимальной длины равно 5
б) а және с