Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.71/14: Рейтинг темы: голосов - 14, средняя оценка - 4.71
VANYOK
1 / 1 / 0
Регистрация: 05.12.2013
Сообщений: 43
1

Проложить код программы для решения школьной геометрической задачи

02.02.2014, 19:43. Просмотров 2547. Ответов 4
Метки нет (Все метки)

Задача:
Дано: ABCA1B1C1 – прямая треугольная призма, AB = 13, CB = 14, AC = 15, O – центр описанной окружности, C1OC = 30°.
Найдите V.

Код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <conio.h>
#include <iostream>
#include <math.h>
 
using namespace std;
int main()
{
    setlocale(LC_ALL, "Russian");
    int  a, b, c, p, r, s, v, o;
    cout << "Введте значения сторон AB, BC и AC и угра:" << endl;;
    cin >> a >> b >> c >> o;
    p = ((a + b + c) / 2);
    s = sqrt(p*(p - a)*(p - b)*(p - c));
    r = ((a*b*c) / (4 * s));
    cout << "AB = " << a << "\tBC = " << b << "\tAC = " << c << "\tC1OC = " << o << endl;
    cout << "p = " << p << "\nS = " << s << "\nR = " << r << endl;
 
    _getch();
    return 0;
}
Я просто не помню формулу для нахождения ребра призмы... А так может и сам дописал бы...
0
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.02.2014, 19:43
Ответы с готовыми решениями:

Необходим код для решения линейной задачи
Сахарная свекла содержит 14% сахара. С 1 га собирают 30 т сахарной свеклы. сколько гектаров надо...

нужно написать програмный код для решения задачи создания бинарного файла
:cry: Написать програмный код для решения задачи создания бинарного файла.

Воспользуйтесь модулем Triangle для решения какой-нибудь геометрической задачи
Пожалуйста помогите напишите код я не могу понять как это сделать :gsorry::flirt::-* ...

Необходимо составить програмный код для решения геометрической прогрессии
Первый член возрастающей геометрической прогрессии а1=3, её знаменатель q=2. Найти сумму членов...

Доказать корректность программы для решения задачи z = (2x +1)*2^y
Написал программу с метками на псевдо языке програм. вот учебник...

4
nexen
187 / 180 / 25
Регистрация: 27.01.2012
Сообщений: 1,335
02.02.2014, 19:52 2
VANYOK, V - имеется ввиду объем? Собственно смотри, треугольник С1ОС - равнобедренный (если призма прямоугольная), где С1С - ребро-высота призмы. В итоге есть равнобедренный треугольник, в котором даны все углы. Остается найти радиус описаной окружности и получишь высоту.

Или стоп, окружность описана вокруг призмы или треугольника в основании? Если первое, то я правильно понял..
0
VANYOK
1 / 1 / 0
Регистрация: 05.12.2013
Сообщений: 43
02.02.2014, 20:35  [ТС] 3
nexen, вот собственно, чертеж...
v - объем
0
Миниатюры
Проложить код программы для решения школьной геометрической задачи  
nexen
187 / 180 / 25
Регистрация: 27.01.2012
Сообщений: 1,335
02.02.2014, 20:42 4
Лучший ответ Сообщение было отмечено VANYOK как решение

Решение

VANYOK, тогда в чем вообще проблема? Для V надо найти площадь основания и высоту. Площадь основания по трем сторонам находится, значит нужна высота. Высота - катет прямоугольного треугольника С1ОС с углом 30*, tg30* (sqrt(3)/3) известен, значит осталось найти СО. А СО легко находится из формулы для радиуса описанной окружности вокруг треугольника. Всё.

Судя по тому, что у вас уже есть. Осталось только
C++
1
2
float h = r * sqrt(3) / 3;
float v = s * h;
и кстати, "int" не подходит - это целочисленный тип, а стороны и радиусы, и площади, и т.д. могут быть дробными
1
VANYOK
1 / 1 / 0
Регистрация: 05.12.2013
Сообщений: 43
02.02.2014, 22:27  [ТС] 5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <conio.h>
#include <iostream>
#include <math.h>
 
using namespace std;
int main()
{
    setlocale(LC_ALL, "Russian");
    float a = 13, b = 14, c = 15, p, r, s, h, v;
    p = (a + b + c) / 2; // полупериметр треугольника
    s = sqrt(p*(p - a)*(p - b)*(p - c)); // площадь основания
    r = (a*b*c) / (4 * s); // радиус
    h = r * (sqrt(3) / 3); // высота 
    // tg 30 = (sqrt(3)/3) 
    v = s * h; // объем
    cout << "AB = " << a << "\tBC = " << b << "\tAC = " << c << endl;
    cout << "Полупериметр треугольника(p) = " << p << "\nПлощадь основания(S) = " << s << "\nРадиус(R) = " << r << endl;
    cout << "Высота(H) = " << h << "\nОбъем(V) = " << v << endl;
    _getch();
    return 0;
}
Может кому-то пригодится...
0
02.02.2014, 22:27
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.02.2014, 22:27

Ищу оптимальный код для решения одной задачи
Добрый день, друзья! У меня есть одна задача с табличными данными, которую я в принципе могу решить...

Составление программы через оператор FOR для решения задачи
Помогите пожалуйста,запутался и не могу разобраться,заранее огромное спасибо. Используя оператор...

Используя следующий фрагмент, напишите программы для решения задачи
Используя следующий фрагмент, напишите программу для решения задачи const n = 40; var ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru