Предмет: Информатика,
автор: BIEBO
ДАМ 30 БАЛЛОВ!
Помогите, я плохо понимаю информатику, а это нужно сделать до завтра:
• Составить программу нахождения вписанной окружности прямоугольного треугольника по гипотенузе и другому катету.
Нужно написать программу на С++.
Хееееелп(((
maxpavlutenkof:
тебе длину окр. надо или что ?
Задание так и звучит. Значит да, длину окрсти
Ответы
Автор ответа:
0
#include<iostream>
using namespace std;
int main()
{
double d;
cin>>d;
cout<<"\nS="<<2*3.14*(d/4); // если нужна площадь , то заменить на cout<<"\nS="<<3.14*(d/4)*(d/4);
}
А так неправильно? Посмотри пож:
#include "iostream"
#include "cmath"
using namespace std;int main()
/* a и b - катеты, с - гипотенуза, р полупериметр, r -радиус вписанной окружности */
{double a,b,c,p,r; for(;;) { cout << "c a > "; cin >> c >> a; if (a>c) { cout << "Катет не может быть больше гипотенузы! \n"; continue; } else { b=sqrt(c*c-a*a); p=(a+b+c)/2; r=sqrt((p-a)*(p-b)*(p-c)/p); cout << r << '\n'; } } }
#include "iostream"
#include "cmath"
using namespace std;int main()
/* a и b - катеты, с - гипотенуза, р полупериметр, r -радиус вписанной окружности */
{double a,b,c,p,r; for(;;) { cout << "c a > "; cin >> c >> a; if (a>c) { cout << "Катет не может быть больше гипотенузы! \n"; continue; } else { b=sqrt(c*c-a*a); p=(a+b+c)/2; r=sqrt((p-a)*(p-b)*(p-c)/p); cout << r << '\n'; } } }
вопервых, мы можем ограничиться только гипотенузой, а катет - лишняя память и усложнение кода . вовторых , зачем делать провверку ввода , если можно брать большее значение за гипотенузу. в третих, зачем для организации бесконечного цикла for , если есть while(1) . и в четвертых , программы на сишке лучше разбивать на функции , но это уже так , пожелание
Похожие вопросы
Предмет: Литература,
автор: Аноним
Предмет: Русский язык,
автор: lahovaa960
Предмет: Французский язык,
автор: buevgenij936
Предмет: Математика,
автор: помощник151
Предмет: Математика,
автор: оля1442