не могу понять в чем проблема

Тема в разделе "Общие вопросы по С и С++", создана пользователем smthelse, 6 ноя 2011.

  1. smthelse

    smthelse New Member

    Регистрация:
    6 ноя 2011
    Сообщения:
    4
    Симпатии:
    0
    помогите пожалуйста,не могу понять в чем проблема

    "Составить программу, которая вычисляет площадь треугольника, если человек задал длины трех сторон A,B,C. При вычислении использовать формулу Герона: S=sqrt(P(P-A)(P-B)(P-C))
    , где Р — полупериметр. Перед вычислением площади про-верить, существует ли треугольник с заданными сторонами"


    Код (C++):
    //---------------------------------------------------------------------------
    #include <math.h>
    #include <stdio.h>
    #pragma hdrstop

    //---------------------------------------------------------------------------

    #pragma argsused
    int main(int argc, char* argv[])
    { int a=12,b=7,c=8,p,s;
    if ((a>=(b+c))|(b>=(a+c))|(c>=(a+B)));
    else ("Impossible triagle");
    p=(a+b+c)/2;
    s=(sqrt(p*(p-a)*(p-B)*(p-c)));

    return 0;
    }
    //---------------------------------------------------------------------------
     
  2. Vadik(R)

    Vadik(R) Well-Known Member

    Регистрация:
    12 дек 2007
    Сообщения:
    483
    Симпатии:
    0
    Видимо в том, что переменные p и s целого типа.
    Ну и в том, что ещё результат на экран выводить надо B)
    Код (C++):
    #include <cmath>
    #include <iostream>

    using namespace std;

    int main()
    {
    long double a = 12.0, b = 7.0, c = 8.0, p, s;
    if ((a < b + c) && (b < a + c) && (c < a + b))
    {
    p = (a + b + c) / 2;
    s = pow(p * (p - a) * (p - b) * (p - c), 0.5);
    cout.setf(ios::fixed);
    cout.precision(6);
    cout << "S = " << s << endl;
    }
    else
    cout << "Impossible triangle" << endl;
    return 0;
    }
    Вроде так, не проверял ;)
     
  3. smthelse

    smthelse New Member

    Регистрация:
    6 ноя 2011
    Сообщения:
    4
    Симпатии:
    0
    Vadik&reg;, спасибо за помощь,только неправильно считает,и мне непонятны функции "cout.setf(ios::fixed);cout.precision(6)" ,т.к я только начинаю изучать язык С++,учусь на программиста
     
  4. Vadik(R)

    Vadik(R) Well-Known Member

    Регистрация:
    12 дек 2007
    Сообщения:
    483
    Симпатии:
    0
    Эти фунции ставят фиксированный формат вывода дробных чисел, и, соответственно, точность шесть знаков после запятой.
     
Загрузка...

Поделиться этой страницей