Форум программистов, компьютерный форум CyberForum.ru

Выяснить, у которого из данных треугольников большая площадь - C++

Восстановить пароль Регистрация
 
andr1981
0 / 0 / 0
Регистрация: 18.09.2010
Сообщений: 28
08.11.2010, 18:02     Выяснить, у которого из данных треугольников большая площадь #1
Даны 6 реальных чисел, которые определяют стороны 2 треугольников. Выяснить, у которого из данных треугольников большая площадь(использовать функцию, которая определяет площадь треугольника по 3 его сторонам-формула Герона: S=sqrt[p(p-a)(p-b)(p-c)], где p=(a+b+c)/2, a,b,c, - длины сторон треугольника)
Добрый день всем!) Помогите пожалуйста в алгоритме написания программы С++ по данному условию.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.11.2010, 18:02     Выяснить, у которого из данных треугольников большая площадь
Посмотрите здесь:

Площадь треугольников C++
C++ Определить, какой из треугольников имеет большую площадь
Данные двух треугольников, у которых находилась бы площадь и сравнивалась C++
C++ Дано н прямоугольных треугольников с а и б катетами, причем а + б = 9. Составить программу, которая вычисляет суммарную площадь этих треугольников
C++ Среди чисел от 1 до Н определить то, сумма цифр которого большая
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
NikITKA123
19 / 18 / 1
Регистрация: 28.04.2010
Сообщений: 86
08.11.2010, 18:07     Выяснить, у которого из данных треугольников большая площадь #2
стороны вводим с клавиатуры?
andr1981
0 / 0 / 0
Регистрация: 18.09.2010
Сообщений: 28
08.11.2010, 18:11  [ТС]     Выяснить, у которого из данных треугольников большая площадь #3
Цитата Сообщение от NikITKA123 Посмотреть сообщение
стороны вводим с клавиатуры?
Конечно- наверное в виде элементов двух массивов по [3]...
NikITKA123
19 / 18 / 1
Регистрация: 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 секунды
Цитата Сообщение от andr1981 Посмотреть сообщение
Конечно- наверное в виде элементов двух массивов по [3]...
вот этого я не понял, но прога у меня работает правильно и без массивов
andr1981
0 / 0 / 0
Регистрация: 18.09.2010
Сообщений: 28
08.11.2010, 18:33  [ТС]     Выяснить, у которого из данных треугольников большая площадь #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#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;
}
Большое спасибо=буду разбираться)
Только объясните значение строчек
int _tmain(int argc, _TCHAR* argv[])
и
setlocale(0, "Rus");

и потом= можно ли оформить алгоритм без использования библиотеки <math.h>,а только с <iostream> - то есть сначала ввести функцию нахождения площади, а потом в int main(){ реализовать её для сравнения площадей?

+компилятор ругается на '_TCHAR*' - типа он не декларирован...
Jupiter
Каратель
Эксперт C++
6542 / 3962 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
08.11.2010, 18:39     Выяснить, у которого из данных треугольников большая площадь #6
Цитата Сообщение от andr1981 Посмотреть сообщение
int _tmain(int argc, _TCHAR* argv[])
такой стиль оформления, можете спокойно менять на
Код
int main()


Цитата Сообщение от andr1981 Посмотреть сообщение
setlocale(0, "Rus");
включение русского языка

Добавлено через 1 минуту
Цитата Сообщение от andr1981 Посмотреть сообщение
без использования библиотеки <math.h>
без него не обойтись, используется
Код
sqrt()
ai-zer
14 / 29 / 2
Регистрация: 09.10.2010
Сообщений: 404
Завершенные тесты: 1
08.11.2010, 18:45     Выяснить, у которого из данных треугольников большая площадь #7
О боже... я думал С++ и С# очень похожи...
andr1981
0 / 0 / 0
Регистрация: 18.09.2010
Сообщений: 28
08.11.2010, 18:45  [ТС]     Выяснить, у которого из данных треугольников большая площадь #8
про библиотеку и русский язык понял=спасибо)
но компилятор ругается на '_TCHAR*' - типа он не декларирован... + при замене int _tmain на int main() +к ошибке '_TCHAR*' выдаёт предупреждение на четвёртую строку...
andr1981
0 / 0 / 0
Регистрация: 18.09.2010
Сообщений: 28
08.11.2010, 18:46  [ТС]     Выяснить, у которого из данных треугольников большая площадь #9
Цитата Сообщение от ai-zer Посмотреть сообщение
О боже... я думал С++ и С# очень похожи...
аааааа- так это код С#О_о
а как в С++ будет правильно????
Jupiter
Каратель
Эксперт C++
6542 / 3962 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
08.11.2010, 18:50     Выяснить, у которого из данных треугольников большая площадь #10
это не С#, это C++ и поставьте просто
Код
int main()
все равно эти параметры не используются
NikITKA123
19 / 18 / 1
Регистрация: 28.04.2010
Сообщений: 86
08.11.2010, 21:45     Выяснить, у которого из данных треугольников большая площадь #11
Это Си++!!!
andr1981
0 / 0 / 0
Регистрация: 18.09.2010
Сообщений: 28
08.11.2010, 22:00  [ТС]     Выяснить, у которого из данных треугольников большая площадь #12
Цитата Сообщение от NikITKA123 Посмотреть сообщение
Это Си++!!!
Никит=я разобрался))) Ещё раз большое спасибо=тока мне надо немного по другому весь этот алгоритм-
сначала ввести int function() {} функцию нахождения площади- а потом уже int main () {}, где вводить те 6 реальных чисел для сторон и сравнивать площади, которые находятся функцией...
Jupiter
Каратель
Эксперт C++
6542 / 3962 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
08.11.2010, 22:22     Выяснить, у которого из данных треугольников большая площадь #13
вот через ф-ю
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <iostream>
#include <math.h>
using namespace std;
 
double S( int a, int b, int c )
{
        double p = (a+b+c)/2;
    return (sqrt(p*(p-a)*(p-b)*(p-c)));
}
 
int main( )
{
        setlocale(0, "Rus");
        cout << "Введите три стороны первого треугольника: ";
        int a, b, c, d, e, f;
        cin >> a >> b >> c;
        cout << "Площадь первого треугольника равна: " << S( a, b, c) << endl;
        cout << "Введите три стороны второго треугольника: ";
        cin >> d >> e >> f;
        cout << "Площадь второго треугольника равна: " << S( d, e, f ) << endl;
        if( S( a, b, c) < S( d, e, f ) ) cout << "Площадь второго треугольника больше!";
        else cout << "Площадь первого треугольника больше!" << endl;
        return 0;
}
andr1981
0 / 0 / 0
Регистрация: 18.09.2010
Сообщений: 28
08.11.2010, 22:26  [ТС]     Выяснить, у которого из данных треугольников большая площадь #14
Цитата Сообщение от Maxwe11 Посмотреть сообщение
вот через ф-ю
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <iostream>
#include <math.h>
using namespace std;
 
double S( int a, int b, int c )
{
        double p = (a+b+c)/2;
    return (sqrt(p*(p-a)*(p-b)*(p-c)));
}
 
int main( )
{
        setlocale(0, "Rus");
        cout << "Введите три стороны первого треугольника: ";
        int a, b, c, d, e, f;
        cin >> a >> b >> c;
        cout << "Площадь первого треугольника равна: " << S( a, b, c) << endl;
        cout << "Введите три стороны второго треугольника: ";
        cin >> d >> e >> f;
        cout << "Площадь второго треугольника равна: " << S( d, e, f ) << endl;
        if( S( a, b, c) < S( d, e, f ) ) cout << "Площадь второго треугольника больше!";
        else cout << "Площадь первого треугольника больше!" << endl;
        return 0;
}
я так и сделал примерно... Тока ещё уточнение= в функции надо условие if (a<=0||b<=0||c<=0) return 0; ? и ещё= в условии сказано= что эти 6 чисел реальные= значит надо double???
Jupiter
Каратель
Эксперт C++
6542 / 3962 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
08.11.2010, 22:36     Выяснить, у которого из данных треугольников большая площадь #15
да, проверку нужно добавить, и еще вывести какоето сообщение - "стороны не могут быть отрицательны", либо же организовать ввод так чтобы нельзя было продолжить роботу программы пока не введутся положительные числа; если по условию вещественные числа -да поставьте double
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.11.2010, 22:37     Выяснить, у которого из данных треугольников большая площадь
Еще ссылки по теме:

Площадь треугольников построенных на n точках C++
C++ Даны кординаты вершин двоих треугольников. Определить, какой из них имеет большую площадь
Максимальная площадь из введенных треугольников. Не получается добавить функцию в программу C++

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

Или воспользуйтесь поиском по форуму:
andr1981
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???
Yandex
Объявления
08.11.2010, 22:37     Выяснить, у которого из данных треугольников большая площадь
Ответ Создать тему
Опции темы

Текущее время: 06:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru