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

Функции в visual С++(иcправить ошибку) - C++

Восстановить пароль Регистрация
 
kinder_boy
0 / 0 / 0
Регистрация: 02.04.2010
Сообщений: 11
28.06.2010, 12:22     Функции в visual С++(иcправить ошибку) #1
Помогите исправить ошибку, переполнение ф-ии выдает. Вот задача и мой код:

Составить программу с использованием функции, которая вычисляет высоты треугольника со сторонами а, b, с по формулам, Ha=(2*s)/a, Hb=(2*s)/b, Hc=(2*s)/c где s=sqrt(p*(p-a)*(p-b)*(p-c), p=(a+b+c)/2 .

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
25
26
27
28
#include <iostream.h>
#include <math.h>
 
   double geron(double a, double b, double c)
   {
       double p,pol;
           p=a+b+c;
        pol=p/2;
           
       geron=sqrt(pol*(pol-a)*(pol-b)*(pol-c));
    return 0;
   }
   double visota(double k, double s)
   {
       visota=(2*s)/k;
       return 0;
   }
   void main()
   {
       double s,ha,hb,hc,x,y,z;
       cout<<"vvedi storoni: "<<'/n';
       cin>>x>>y>>z;
       s=geron(x,y,z);
       ha=visota(x,s);
       hb=visota(y,s);
       hc=visota(z,s);
       cout<<ha<<hb<<hc;
   }
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,694
28.06.2010, 12:56     Функции в visual С++(иcправить ошибку) #2
1) В функции geron не объявлена переменная geron, не путайте с паскалем! И лучше измените название переменной, дабы не было недоразуменний. Аналогично с функцией visota.
2) Из функций вы возвращаете ноль? Почему?
kinder_boy
0 / 0 / 0
Регистрация: 02.04.2010
Сообщений: 11
28.06.2010, 13:11  [ТС]     Функции в visual С++(иcправить ошибку) #3
а что нужно возвращать?
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,694
28.06.2010, 13:15     Функции в visual С++(иcправить ошибку) #4
На правильность не смотрел.
Можно так:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
double geron(double a, double b, double c)
   {
           double p,pol;
                   p=a+b+c;
            pol=p/2;
                   
           double val_geron=sqrt(pol*(pol-a)*(pol-b)*(pol-c));
        return val_geron;
   }
   double visota(double k, double s)
   {
           double val_visota=(2*s)/k;
           return val_visota;
   }
Yandex
Объявления
28.06.2010, 13:15     Функции в visual С++(иcправить ошибку)
Ответ Создать тему
Опции темы

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