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

Передача значений функций - C++

Восстановить пароль Регистрация
 
NooNameR
0 / 0 / 0
Регистрация: 03.03.2011
Сообщений: 25
07.03.2011, 01:02     Передача значений функций #1
извините конечно за дурацкий вопрос, не нашёл, думаю, может вы поможете...
задача такова:

мне надо например сделать 3 разных функции , в них сделать 3 разных действия и передать значения в МЭЙН функцию...как это сделать

вот пример: Найти суму трёх площадей триугольников со сторонами:
I - a1,b1,c1;
II - a2,b2,c2;
III - a3,b3,c3;

т.е. площадь первого надо сделать в 1й функцие, 2-во второй, и 3-в третей, и передать значения в МЭЙН и там найти их суму...задача примитивная, но интересно сам механизм работы такой программы, и как она делается, прошу код на простой СИ...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.03.2011, 01:02     Передача значений функций
Посмотрите здесь:

Вычисление значений функций. C++
Передача ключей и значений C++
вычислить m значений функций f (x) на отрезке C++
C++ вичисление значений функций
C++ Передача значений в функцию C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Viort
1 / 1 / 0
Регистрация: 31.12.2010
Сообщений: 16
07.03.2011, 01:10     Передача значений функций #2
Как-то не очень логично. Надо сделать именно 3 разные функции? Есть текст задания?
IrineK
Заблокирован
07.03.2011, 01:15     Передача значений функций #3
Нужно сделать одну функцию, в которую последовательно передавать параметры разных треугольников.
Но - есть еще одна загвоздка. Необходимо помнить, что не всякая тройка чисел a,b,c может послужить сторонами треугольника.
NooNameR
0 / 0 / 0
Регистрация: 03.03.2011
Сообщений: 25
07.03.2011, 01:15  [ТС]     Передача значений функций #4
Цитата Сообщение от Viort Посмотреть сообщение
Как-то не очень логично. Надо сделать именно 3 разные функции? Есть текст задания?
не в задание суть))) суть в механизме роботы с многими функциями, и передачей значений с одной в другую...это очень важно...



вот пример: Найти суму трёх площадей триугольников со сторонами:
I - a1,b1,c1;
II - a2,b2,c2;
III - a3,b3,c3;
Нужно сделать одну функцию, в которую последовательно передавать параметры разных треугольников.
Но - есть еще одна загвоздка. Необходимо помнить, что не всякая тройка чисел a,b,c может послужить сторонами треугольника.
можно код...?просто интересна вся суть передачи значений))
zulkis
 Аватар для zulkis
681 / 608 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
07.03.2011, 01:17     Передача значений функций #5
Возврат значения - return
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <math.h>
 
double getSquare(double a, double b, double c)
{
    double square;
    //if(/*проверку на валидность треугольника сами вставите?*/)
    square = sqrt(((a+b+c)/2)*(((a+b+c)/2)-a)*(((a+b+c)/2)-b)*(((a+b+c)/2)-c));//считаете площадь
    return square;
}
 
int main()
{
    double mysquare;
    mysquare = getSquare(1,1,1);// в mysquare ваша площадь
    return 0;
}
NooNameR
0 / 0 / 0
Регистрация: 03.03.2011
Сообщений: 25
07.03.2011, 01:19  [ТС]     Передача значений функций #6
Цитата Сообщение от zulkis Посмотреть сообщение
#include <math.h>

double getSquare(double a, double b, double c)
{
double square;
if(/*проверку на валидность треугольника сами вставите?*/)
square = sqrt(((a+b+c)/2)*(((a+b+c)/2)-a)*(((a+b+c)/2)-b)*(((a+b+c)/2)-c))//считаете площадь
return square;
}

int main()
{
double mysquare;
mysquare = getSquare(1,1,1);// в mysquare ваша площадь
return 0;
}
(1,1,1)- почему еденици?
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
07.03.2011, 01:20     Передача значений функций #7
NooNameR, Для примера...
NooNameR
0 / 0 / 0
Регистрация: 03.03.2011
Сообщений: 25
07.03.2011, 01:27  [ТС]     Передача значений функций #8
Найти площадь кольца, внутренний радиус которого равен R1, а внешний радиус равен R2 (R1 <R2). Как значение ПИ использовать 3.14. Значения площадь внешнего и внутреннего сделать отдельной функцией, а саму площадь кольца сделать в main.(там от внешней надо отнять внутреннею площадь)
zulkis
 Аватар для zulkis
681 / 608 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
07.03.2011, 01:31     Передача значений функций #9
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <math.h>
#define PI 3.14
double getSquare(double a)
{
        double square;
        square = PI*a*a;//считаете площадь
        return square;
}
 
int main()
{
        double mysquare;
        mysquare = getSquare(2) - getSquare(1.4);// в mysquare ваша площадь
        return 0;
}

Не по теме:

Терпеть не могу работать в MSVS с double. Компилятор всегда чертову единичку ставит в самый конец.

ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
07.03.2011, 01:32     Передача значений функций #10
zulkis, Не PI, а M_PI по идее...
zulkis
 Аватар для zulkis
681 / 608 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
07.03.2011, 01:35     Передача значений функций #11
Я не юзаю Пи из math.h, так что именую как хочу
ForEveR
07.03.2011, 01:37
  #12

Не по теме:

zulkis, Ну если так то да... В первом коде define-а не было.
Да и резон дефайна в коде на С++ - сомнителен.

IrineK
Заблокирован
07.03.2011, 01:38     Передача значений функций #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
25
26
27
28
29
30
31
32
33
34
#include <conio.h>
#include <stdio.h>
#include <math.h>
 
double square(int k)
{   double a,b,c,p,S;
    printf("a = ");
    scanf("%lf",&a);
    printf("b = ");
    scanf("%lf",&b);
    printf("c = ");
    scanf("%lf",&c);
    p=(a+b+c)/2;
    if((p-a)>0 && (p-b)>0 && (p-c)>0)
        S=sqrt(p*(p-a)*(p-b)*(p-c));
    else
        {printf("No triagle with these sides exists\n");
        return 0;}
    return S;
}
 
int main()
{
double s[3],res=0.0;
int i;
for(i=0;i<3;i++)
{   printf("Triangle %d\n",i+1);
    s[i]=square(i);
    res=res+s[i];
}
printf("The sum is: %lf", res);
getch();
return 0;
}
Проверка на существование треугольника есть. Если треугольника не существует, в качестве его площади возвращается 0.
zulkis
 Аватар для zulkis
681 / 608 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
07.03.2011, 01:38     Передача значений функций #14
Цитата Сообщение от ForEveR Посмотреть сообщение

Не по теме:

zulkis, Ну если так то да... В первом коде define-а не было.
Да и резон дефайна в коде на С++ - сомнителен.

Поясните это утверждение? Почему сомнителен? В общем, либо только в данном контексте про Пи?
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
07.03.2011, 01:42     Передача значений функций #15
zulkis, Потому что макросы - удел Си. В С++ для замен макросов, типа функций есть inline функции, а взамен макросов, определяющих переменные - есть константы (тут еще и типовая безопасность между прочим).
zulkis
 Аватар для zulkis
681 / 608 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
07.03.2011, 01:43     Передача значений функций #16
Доходчиво, благодарю
Пойду, почитаю
IrineK
Заблокирован
07.03.2011, 02:12     Передача значений функций #17
Убрала "хвосты" из другой проги:

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
29
30
31
32
33
#include <conio.h>
#include <stdio.h>
#include <math.h>
 
double square()
{   double a,b,c,p,S;
    printf("a = ");
    scanf("%lf",&a);
    printf("b = ");
    scanf("%lf",&b);
    printf("c = ");
    scanf("%lf",&c);
    p=(a+b+c)/2;
    if((p-a)>0 && (p-b)>0 && (p-c)>0)
        S=sqrt(p*(p-a)*(p-b)*(p-c));
    else
        {printf("No triagle with these sides exists\n");
        return 0;}
    return S;
}
 
int main()
{
double s,res=0.0;
int i;
for(i=0;i<3;i++)
{   printf("Triangle %d\n",i+1);
    res=res+square();
}
printf("The sum is: %lf", res);
getch();
return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.03.2011, 02:15     Передача значений функций
Еще ссылки по теме:

C++ Передача символических имен функций
C++ Вывод значений по графику функций
Передача значений из txt C++

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

Или воспользуйтесь поиском по форуму:
easybudda
07.03.2011, 02:15     Передача значений функций
  #18

Не по теме:

Цитата Сообщение от IrineK Посмотреть сообщение

C
1
2
3
4
...
    p=(a+b+c)/2;
    if((p-a)>0 && (p-b)>0 && (p-c)>0)
...
Всё время забываю, что там с чем сравнивать нужно. Склероз, наверное, старческий...

Yandex
Объявления
07.03.2011, 02:15     Передача значений функций
Ответ Создать тему
Опции темы

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