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

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

Войти
Регистрация
Восстановить пароль
 
Damir228
0 / 0 / 0
Регистрация: 09.11.2015
Сообщений: 2
#1

Как создать функцию изменяющую значение переменной? - C++

17.06.2016, 09:10. Просмотров 123. Ответов 5
Метки нет (Все метки)

Насколько я понял функция или возвращает значение,или выполняет какие либо действия,но изменить значение можно только у глобальной переменной.
Как сделать чтобы менялась переменная внутри main?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.06.2016, 09:10     Как создать функцию изменяющую значение переменной?
Посмотрите здесь:

C++ Написать на языке СИ++ программу, вычисляющую функцию, представленную в виде ряда с заданной точностью e=0,001. Значение переменной x вводить с клави
Создать функцию с использованием статической переменной (или переменных), определенной на локальном уровне. C++
C++ Составьте функцию, изменяющую одномерный массив целых чисел следующим обра-зом: к значению каждого положительного элемента прибавляется его индекс
C++ Как организовать функцию, изменяющую входящий параметр?
Как передать значение переменной из одной функции в другую функцию C++
FindFirstFileW. Как подставить значение переменной типа string в функцию? C++
C++ Создать макрос обрамляющий кавычками значение переменной
Как передать значение переменной из функции инт в функцию воид? C++
C++ Написать функцию, изменяющую значение n-го бита на противоположное
C++ Напишите функцию, принимающую два аргумента, изменяющую значение второго аргумента и возвращающую void
а) Создать шаблонную функцию, изменяющую попарно элементы массива следующим образом C++
Создать функцию, которая выводит значение Юлианской даты C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nmcf
4480 / 3818 / 1288
Регистрация: 14.04.2014
Сообщений: 14,985
17.06.2016, 09:21     Как создать функцию изменяющую значение переменной? #2
Ссылку передавай.
nstwf
87 / 77 / 30
Регистрация: 19.02.2016
Сообщений: 324
Завершенные тесты: 1
17.06.2016, 09:56     Как создать функцию изменяющую значение переменной? #3
Как сказали выше - через ссылку
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
 
using namespace std;
void f(int *f)
{
    *f = 5;
}
void main()
{
    int d = 0;
    f(&d);
    cout << d;
    system("pause");
}
Ну или возвращать из ф-и
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
 
using namespace std;
int f(int f)
{
    f = 5;
    return f;
}
void main()
{
    int d = 0;
    d = f(d);
    cout << d;
    system("pause");
}
Blitzor DDD
13 / 13 / 1
Регистрация: 17.08.2015
Сообщений: 441
17.06.2016, 10:20     Как создать функцию изменяющую значение переменной? #4
Можно так

C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
 
using namespace std;
 
int t=0;  //иниц. переменную t нулем
int &a=t; // связали a и t. Теперь любое изменение а отразится на t
 
int set_value(int &a) //в качестве аргумента - ссылка
{
    a=t;    //меняем переменную t
    cout<<t<<endl;
    return t;
}
 
int main( )
{
    cout<<t<<endl;  //выведется 0
    a=5;
    set_value(a);   //поменяли переменную t, выведется 5
 
    return 0;
}
Добавлено через 17 минут
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
 
using namespace std;
 
int t=0;  //иниц. переменную t нулем
int &a=t; // связали a и t. Теперь любое изменение а отразится на t
 
int set_value(int &a) //в качестве аргумента - ссылка
{
    a=t;    //меняем переменную t
    return t;
}
 
int main( )
{
    cout<<t<<endl;  //выведется 0
    a=5;
   cout<< set_value(a);   //поменяли переменную t, выведется 5
 
    return 0;
}
palva
 Аватар для palva
2439 / 1661 / 208
Регистрация: 08.06.2007
Сообщений: 6,575
Записей в блоге: 4
17.06.2016, 10:38     Как создать функцию изменяющую значение переменной? #5
По-моему, в ветке смешались в одну кучу два понятия: указатели и ссылки.
Указатели были еще в C. Понятия ссылки тогда даже не было.
Ссылки есть только в C++
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
using namespace std;
 
void fun1(int *n) {*n=5;} // использование указателя
 
void fun2(int &n) {n=5;}  // использование параметра-ссылки (только C++)
 
int main()
{
    int i;
    i=8;
    fun1(&i); // передача адреса переменной
    cout << i << endl;
    i=8;
    fun2(i);
    cout << i << endl;
    return 0;
}
nstwf
87 / 77 / 30
Регистрация: 19.02.2016
Сообщений: 324
Завершенные тесты: 1
17.06.2016, 10:41     Как создать функцию изменяющую значение переменной? #6
Моя ошибка, я показывал через указатель.
Yandex
Объявления
17.06.2016, 10:41     Как создать функцию изменяющую значение переменной?
Ответ Создать тему
Опции темы

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