0 / 0 / 0
Регистрация: 18.09.2010
Сообщений: 28
|
|
1 | |
Выяснить, у которого из данных треугольников большая площадь08.11.2010, 18:02. Показов 3027. Ответов 15
Метки нет (Все метки)
Даны 6 реальных чисел, которые определяют стороны 2 треугольников. Выяснить, у которого из данных треугольников большая площадь(использовать функцию, которая определяет площадь треугольника по 3 его сторонам-формула Герона: S=sqrt[p(p-a)(p-b)(p-c)], где p=(a+b+c)/2, a,b,c, - длины сторон треугольника)
Добрый день всем!) Помогите пожалуйста в алгоритме написания программы С++ по данному условию.
0
|
08.11.2010, 18:02 | |
Ответы с готовыми решениями:
15
Выяснить, у какого из трех прямоугольных треугольников площадь больше Вычислить площади двух треугольников, и определить, какой из треугольников имеет большую площадь Дано н прямоугольных треугольников с а и б катетами, причем а + б = 9. Составить программу, которая вычисляет суммарную площадь этих треугольников По координатам вершин двух треугольников, определите их площадь и выведите на печать площадь максимального треугольника |
19 / 18 / 5
Регистрация: 28.04.2010
Сообщений: 86
|
|
08.11.2010, 18:07 | 2 |
стороны вводим с клавиатуры?
0
|
0 / 0 / 0
Регистрация: 18.09.2010
Сообщений: 28
|
|
08.11.2010, 18:11 [ТС] | 3 |
0
|
19 / 18 / 5
Регистрация: 28.04.2010
Сообщений: 86
|
|
08.11.2010, 18:25 | 4 |
#include <iostream>
#include <math.h> using namespace std; int _tmain(int argc, _TCHAR* argv[]) { int a, b, c, d, e, f; double p1, p2, s1, s2; setlocale(0, "Rus"); cout << "Введите три стороны первого треугольника: "; cin >> a >> b >> c; p1 = (a+b+c)/2; s1 = sqrt(p1*(p1-a)*(p1-b)*(p1-c)); cout << "Площадь первого треугольника равна: " << s1 << endl; cout << "Введите три стороны второго треугольника: "; cin >> d >> e >> f; p2 = (d+e+f)/2; s2 = sqrt(p2*(p2-a)*(p2-b)*(p2-c)); cout << "Площадь второго треугольника равна: " << s2 << endl; if(s1 < s2) cout << "Площадь второго треугольника больше!"; else cout << "Площадь первого треугольника больше!" << endl; return 0; } Добавлено через 53 секунды вот этого я не понял, но прога у меня работает правильно и без массивов
1
|
0 / 0 / 0
Регистрация: 18.09.2010
Сообщений: 28
|
||||||
08.11.2010, 18:33 [ТС] | 5 | |||||
Только объясните значение строчек int _tmain(int argc, _TCHAR* argv[]) и setlocale(0, "Rus"); и потом= можно ли оформить алгоритм без использования библиотеки <math.h>,а только с <iostream> - то есть сначала ввести функцию нахождения площади, а потом в int main(){ реализовать её для сравнения площадей? +компилятор ругается на '_TCHAR*' - типа он не декларирован...
0
|
Каратель
|
|
08.11.2010, 18:39 | 6 |
такой стиль оформления, можете спокойно менять на
Код
int main() включение русского языка Добавлено через 1 минуту без него не обойтись, используется Код
sqrt()
1
|
19 / 34 / 11
Регистрация: 09.10.2010
Сообщений: 420
|
|
08.11.2010, 18:45 | 7 |
О боже... я думал С++ и С# очень похожи...
0
|
0 / 0 / 0
Регистрация: 18.09.2010
Сообщений: 28
|
|
08.11.2010, 18:45 [ТС] | 8 |
про библиотеку и русский язык понял=спасибо)
но компилятор ругается на '_TCHAR*' - типа он не декларирован... + при замене int _tmain на int main() +к ошибке '_TCHAR*' выдаёт предупреждение на четвёртую строку...
0
|
0 / 0 / 0
Регистрация: 18.09.2010
Сообщений: 28
|
|
08.11.2010, 18:46 [ТС] | 9 |
0
|
19 / 18 / 5
Регистрация: 28.04.2010
Сообщений: 86
|
|
08.11.2010, 21:45 | 11 |
Это Си++!!!
0
|
0 / 0 / 0
Регистрация: 18.09.2010
Сообщений: 28
|
|
08.11.2010, 22:00 [ТС] | 12 |
Никит=я разобрался))) Ещё раз большое спасибо=тока мне надо немного по другому весь этот алгоритм-
сначала ввести int function() {} функцию нахождения площади- а потом уже int main () {}, где вводить те 6 реальных чисел для сторон и сравнивать площади, которые находятся функцией...
0
|
Каратель
|
||||||
08.11.2010, 22:22 | 13 | |||||
вот через ф-ю
1
|
0 / 0 / 0
Регистрация: 18.09.2010
Сообщений: 28
|
|
08.11.2010, 22:26 [ТС] | 14 |
я так и сделал примерно... Тока ещё уточнение= в функции надо условие if (a<=0||b<=0||c<=0) return 0; ? и ещё= в условии сказано= что эти 6 чисел реальные= значит надо double???
0
|
Каратель
|
|
08.11.2010, 22:36 | 15 |
да, проверку нужно добавить, и еще вывести какоето сообщение - "стороны не могут быть отрицательны", либо же организовать ввод так чтобы нельзя было продолжить роботу программы пока не введутся положительные числа; если по условию вещественные числа -да поставьте double
1
|
0 / 0 / 0
Регистрация: 18.09.2010
Сообщений: 28
|
|
08.11.2010, 22:37 [ТС] | 16 |
ой-точнее так=в функции надо условиеif ((a+b<=c)&&(a+c<=b)&&(c+b<=a)&&(a<=0||b<=0||c<=0)) return 0; ? и ещё= в условии сказано= что эти 6 чисел реальные= значит надо double???
0
|
08.11.2010, 22:37 | |
08.11.2010, 22:37 | |
Помогаю со студенческими работами здесь
16
Найти треугольник, у которого самая большая медиана Большая площадь монитора закрыта белыми пикселами Среди чисел от 1 до Н определить то, сумма цифр которого большая Сравнить площадь 2х треугольников Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |