#include<iostream>
#include<iomanip>
#define _USE_MATH_DEFINES
#include<cmath>
using namespace std;
int main()
{
double a, b, c, alfa, beta, gamma;
cout <<"a="; cin >> a;
cout <<"b="; cin >> b;
cout <<"c="; cin >> c;
if (a+b>c && a+c>b && b+c>a)
alfa = acos((b*b+c*c-a*a)/(2*b*c))*180/M_PI;
beta = acos((a*a+c*c-b*b)/(2*a*c))*180/M_PI;
gamma = acos((a*a+b*b-c*c)/(2*a*b))*180/M_PI;
cout <<"Angles in degrees:\n";
cout <<setprecision(3)<<fixed<< "alfa=" << alfa << " beta=" << beta << " gamma=" << gamma << endl;
}
else cout << "Triangle absent\n";
system("pause");
return 0;
в 1 программе значение переменной а больше чем в цикле и поэтому 10 не меньше 5 и цикл не выполняется
2 ошибка в том, что writeln выводит значение, а после него еще есть условие про а
Если бы а было меньше пяти,то программа зациклилась из за a:=a+1 ,но если бы было меньше пяти и эта строчка была выше writeln (a),то цикл выполнился
Во 2 программе
s:=s+a/2 получится не целое число,которое соответсвует типу real
И не хватает еще одного действия после s:=s+a/2; там должна участвовать переменная a,чтобы получилась полноценная программа
#include<iostream>
#include<iomanip>
#define _USE_MATH_DEFINES
#include<cmath>
using namespace std;
int main()
{
double a, b, c, alfa, beta, gamma;
cout <<"a="; cin >> a;
cout <<"b="; cin >> b;
cout <<"c="; cin >> c;
if (a+b>c && a+c>b && b+c>a)
{
alfa = acos((b*b+c*c-a*a)/(2*b*c))*180/M_PI;
beta = acos((a*a+c*c-b*b)/(2*a*c))*180/M_PI;
gamma = acos((a*a+b*b-c*c)/(2*a*b))*180/M_PI;
cout <<"Angles in degrees:\n";
cout <<setprecision(3)<<fixed<< "alfa=" << alfa << " beta=" << beta << " gamma=" << gamma << endl;
}
else cout << "Triangle absent\n";
system("pause");
return 0;
}
в 1 программе значение переменной а больше чем в цикле и поэтому 10 не меньше 5 и цикл не выполняется
2 ошибка в том, что writeln выводит значение, а после него еще есть условие про а
Если бы а было меньше пяти,то программа зациклилась из за a:=a+1 ,но если бы было меньше пяти и эта строчка была выше writeln (a),то цикл выполнился
Во 2 программе
s:=s+a/2 получится не целое число,которое соответсвует типу real
И не хватает еще одного действия после s:=s+a/2; там должна участвовать переменная a,чтобы получилась полноценная программа