? - один символ.* - любое количество символов.
Во всех случаях второй и третий символ in и далее несколько символов. В расширение повторяется mp и все. Далее разное количество символов - *.
Ответ :2
#include <iostream>#include <iterator>#include <algorithm>#include <vector>#include <string>#include <numeric>
int main(void){ std::cout << std::accumulate(std::istream_iterator< int >(std::cin), std::istream_iterator< int >(), 0); return 0;}
<u>План решения</u>
1. Из прямоугольного треугольника, образованного известной стороной b, известной высотой h и стороной с, можно найти угол α по определению синуса: sin(α) = h/b → α = arcsin(h/b);
2. Далее решаем треугольник по известным двум сторонам и углу между ними. Это решение известно из школьного курса.
Из теоремы косинусов: a² = b²+c²-2bc·cos(α) и потом извлекаем квадратный корень из полученного значения.
Из теоремы синусов найдем sin(β) = b·sin(α)/a → β=arcsin(b·sin(α)/a)
Третий угол найти совсем просто: γ=180°-(α+β).
3. Осталось найти значения прочих параметров
Периметр Р = a+b+c
Площадь S = 1/2×c×h
<em>// PascalABC.NET 3.2, сборка 1417 от 28.03.2017</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
begin
var b,c,h:real;
Write('Ввести b,c,h: '); Read(b,c,h);
var alpha:=arcsin(h/b);
var a:=sqrt(b*b+c*c-2*b*c*cos(alpha));
var beta:=arcsin(b*sin(alpha)/a);
var alphaD:=RadToDeg(alpha);
var betaD:=RadToDeg(beta);
var gammaD:=180-(alphaD+betaD);
var P:=a+b+c;
var S:=h*c/2;
Writeln('a=',a:0:3);
Writeln('A=',alphaD:0:1,', B=',betaD:0:1,', C=',gammaD:0:1);
Writeln('Р=',P:0:3,', S=',S:0:5)
end.
<u>Контрольный пример</u>
Ввести b,c,h: 12.6 14.2 8
a=9.162
A=39.4, B=60.8, C=79.8
Р=35.962, S=56.80000