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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.56
Vilki
0 / 0 / 0
Регистрация: 25.06.2009
Сообщений: 3
#1

функции,указатели и ссылки. - C++

25.06.2009, 19:49. Просмотров 1084. Ответов 8
Метки нет (Все метки)

Всем привет! Задали простецкую задачу. решите пожалуйста

Написать программу в которой есть три функции, которые должны вычислять некоторые значения:
1)z=x*x*x+3*x*x*y+6*x*y+3*x*y*y+y*y*y; параметры передаются по значению
2)z=-y(если x<0) z=y(если x>0) - в математике выглядит как система из двух уравнений; параметры передаются по указателям (if)
3)z=(x+y)^n - параметры передаются по ссылкам (for)

спасибо за помощь!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.06.2009, 19:49     функции,указатели и ссылки.
Посмотрите здесь:

Указатели или ссылки (в качестве аргументов функции) ? - C++
В каких случая надо использовать ссылки и в каких указатели в качестве аргументов функции? В общем поняла, что и те и другие полезны для...

Указатели и ссылки c++ - C++
Здравствуйте! Не могли бы вы объяснить как можно использовать ссылки и указатели c++ на практике? Я не пойму для чего они нужны!

Ссылки vs Указатели - C++
Почему ссылки считаются более хорошим средством, чем указатели? Ведь если человек будет использовать сторонние классы, он может не...

Ссылки и указатели - C++
Добрый день, не могу понять чем помогают при использовании указатели и ссылки? Есть код на c++ #progma once class well { ...

Ссылки и указатели - C++
Всем привет. Совсем запутался с ссылками и указателями. Помогите решать задачку: Функция принимает два аргумента, число с плавающей...

Указатели и ссылки? - C++
Ниже приведёна программы которая вызывает функцию. В функции происходит следующее создаются 2 массива в которые записыватся чётные и...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Search..
Заказ софта
340 / 185 / 10
Регистрация: 26.05.2009
Сообщений: 863
25.06.2009, 20:10     функции,указатели и ссылки. #2
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
29
30
31
32
#include <stdio.h>
 
void one(int *pX, int *pY)
{
    int z = 0;
 
    if(*pX < 0)
    {
        z -= *pY;
    }
    else if(*pX > 0)
    {
        z = *pY;
    }
 
    printf("Z: %d\n", z);
}
 
int main(int argc, char * argv [])
{
    int x, y;
 
    printf("Enter X: ");
    scanf_s("%d", & x);
 
    printf("Enter Y: ");
    scanf_s("%d", & y);
 
    one(&x, &y);
 
    return 0;
}
Alik-Soldier
9 / 9 / 0
Регистрация: 01.05.2009
Сообщений: 127
25.06.2009, 21:54     функции,указатели и ссылки. #3
1)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include "stdafx.h"
#include <iostream>
using namespace std;
void func(int x, int y)
{
    int z;
    z=x*x*x+3*x*x*y+6*x*y+3*x*y*y+y*y*y;
    cout<<"Rezalt:"<<z<<endl;
}
void main()
{
    int x,y;
    cout<<"Enter x: ";
    cin>>x;
    cout<<"Enter y: ";
    cin>>y;
    func(x,y);
}
insolent
826 / 347 / 15
Регистрация: 30.01.2009
Сообщений: 1,204
25.06.2009, 22:29     функции,указатели и ссылки. #4
Как-то так -
3)
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
#include "stdafx.h"
#include <iostream>
#include <cmath>
using namespace std;
//////////////////////////////////////////////////////////////////////////
void three(double& z, double& x,double& y,int& n);
//////////////////////////////////////////////////////////////////////////
int main(int argc, char* argv[])
{
    double x,y,z;
    int n;
    cout << "Enter x: ";
    wcin >> x;
    cout << "Enter y: ";
    wcin >> y;
    cout << "Enter n: ";
    wcin >> n;
    _flushall();
    three(z,x,y,n);
    cout << "Result: "
         << z << endl;
    getchar();
    return 0;
}
//////////////////////////////////////////////////////////////////////////
void three(double& z, double& x,double& y,int& n)
{
    z = pow(x+y,n);
}
Vilki
0 / 0 / 0
Регистрация: 25.06.2009
Сообщений: 3
25.06.2009, 23:39  [ТС]     функции,указатели и ссылки. #5
Всем спасибо вот что я накрябал:
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
35
36
37
38
#include "stdafx.h"
#include <math.h>
 
double CubeFunction(double x, double y)
{   
    return pow(x, 3) + 3 * x * x * y + 6 * x * y + 3 * x * y * y + pow(y, 3);
}
 
double TetaFunction(double *x, double *y)
{
    return (*x < 0)? -*y : *y;
}
 
double ExpFunction(double &x, double &y, int &n)
{
    if( n == 0)
        return 1;
 
    double _tmp = x + y;
 
    for(int i =0; i < n - 1; i++)
        _tmp = _tmp * (x + y );
    
    return _tmp;
}
 
int main(int argc, _TCHAR* argv[])
{
    double x = 1;
    double y = 2;
    int n  = 3;
 
    CubeFunction(1, 2);
    TetaFunction(&x, &y);
    ExpFunction(x, y, n);
    
    return 0;
}
нету ошибок?
Alik-Soldier
9 / 9 / 0
Регистрация: 01.05.2009
Сообщений: 127
25.06.2009, 23:51     функции,указатели и ссылки. #6
Ошибок в принципе нет, но когда ты делаеш return в функциях,ты возвращаешь значения,но не печатаеш их на экран (если не надо выводить,то правильно). А если надо вывести, делай так:
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#include "stdafx.h"
#include <math.h>
#include <iostream>
using namespace std;
 
void CubeFunction(double x, double y)
{       
        cout<<pow(x, 3) + 3 * x * x * y + 6 * x * y + 3 * x * y * y + pow(y, 3)<<endl;
}
 
void TetaFunction(double *x, double *y)
{
                int z = 0;
        if(*x < 0)
        {
                z-=*y;
        }
        else 
                        if(*x > 0)
        {
                z = *y;
        }
                cout<<z<<endl;
}
 
void ExpFunction(double &x, double &y, int &n)
{
        if( n == 0)
                cout<<1;
 
        double _tmp = x + y;
 
        for(int i =0; i < n - 1; i++)
                _tmp = _tmp * (x + y );
        
        cout<<_tmp<<endl;
}
 
int main(int argc, _TCHAR* argv[])
{
        double x = 1;
        double y = 2;
        int n  = 3;
 
        CubeFunction(x, y);
        TetaFunction(&x, &y);
        ExpFunction(x, y, n);
        
        return 0;
}
rrrFer
Заблокирован
25.06.2009, 23:56     функции,указатели и ссылки. #7
Vilki
ошибок вроде бы нету, но вам вроде бы ненадо передавать параметры в функцию по указателю или ссылке, потмоу что они не изменяются внутри, поэтому:
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
35
double CubeFunction(double x, double y)
{       
        return pow(x, 3) + 3 * x * x * y + 6 * x * y + 3 * x * y * y + pow(y, 3);
}
 
double TetaFunction(double x, double y)
{
        return (x < 0)? -y : y;
}
 
double ExpFunction(double x, double y, int n)
{
        if( n == 0)
                return 1;
 
        double _tmp = x + y;
 
        for(int i =0; i < n - 1; i++)
                _tmp = _tmp * (x + y );
        
        return _tmp;
}
 
int main()
{
        double x = 1;
        double y = 2;
        int n  = 3;
 
        cout<<CubeFunction(1, 2)<<endl;
        cout<<TetaFunction(x, y)<<endl;
        cout<<ExpFunction(x, y, n)<<endl;
 
        return 0;
}
Добавлено через 2 минуты 31 секунду
и еще, я бы изменил чуть чуть ExpFunction:
C++
1
2
3
4
5
6
7
double ExpFunction(double x, double y, int n)
{
        double _tmp = 1;
        for(int i =0; i < n ; i++)
                _tmp = _tmp * (x + y );
        return _tmp;
}
Vilki
0 / 0 / 0
Регистрация: 25.06.2009
Сообщений: 3
26.06.2009, 00:11  [ТС]     функции,указатели и ссылки. #8
спасибо. на счёт ехпфункции отдельное )
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.06.2009, 00:28     функции,указатели и ссылки.
Еще ссылки по теме:

Указатели и ссылки - C++
Используя вместо самой переменной указатель на нее написать программу в соответствии с заданием: Вычислить y = cos|x3-x2|.

Ссылки, указатели - C++
Доброго времени. Как, используя ссылки, указатели и, возможно, другие приемы сделать что-то вроде этого?: int a = 1; int b = 2; ...

Ссылки и указатели - C++
Добрый день. Возможно было. В чем существенная разница между передачей данных в функцию по ссылке или указателю. В каких случаях вы бы...

Указатели и ссылки - C++
Собственно, не могу до конца осознать как это работает, вот пример из вики(комменты входят в пример) int n = 6; // Объявление...


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

Или воспользуйтесь поиском по форуму:
rangerx
1931 / 1540 / 141
Регистрация: 31.05.2009
Сообщений: 2,908
26.06.2009, 00:28     функции,указатели и ссылки. #9
3)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <cmath>
//...
void func(const double &x, const double &y, double &z, const int &n)
{ 
    if(!n){ z = 1; return; }
 
    z = x + y;
    if(z && n < 0) z = 1/z; 
    else if(!z && n < 0) 
    {
        std::cout << "Error: Incorrect value\n";
        return;
    }
 
    double save_z = z;
    int mod_n = abs(n);
 
    for(int i = 1; i < mod_n; ++i) z *= save_z;
}
Yandex
Объявления
26.06.2009, 00:28     функции,указатели и ссылки.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru