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

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

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

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

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

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

Написать функцию, изменяющую значение n-го бита на противоположное - C++
Написать функцию, изменяющую значение n-го бита на противоположное. Значение принять с клавиатуры и проверить на корректность

а) Создать шаблонную функцию, изменяющую попарно элементы массива следующим образом - C++
а) Создать шаблонную функцию, изменяющую попарно элементы массива следующим образом: первый элемент будет равняться сумме ...

Как организовать функцию, изменяющую входящий параметр? - C++
Подскажите пожалуйста, как называются и как правильно обьявляются функции подобные glMultMatrixf() и тому подобных. Тоесть передаем...

FindFirstFileW. Как подставить значение переменной типа string в функцию? - C++
Здравствуйте, форумчане! Будьте добры и помогите понять один нюанс. Например есть у меня такие строки: ...

Как передать значение переменной из функции инт в функцию воид? - C++
Как передать значения а и b из int start(void) в void inputfile(void), чтоб строка 34 и т.д. работала в иной функции? int x, y,...

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

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nmcf
5276 / 4596 / 1541
Регистрация: 14.04.2014
Сообщений: 18,265
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
Сообщений: 448
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
2595 / 1817 / 260
Регистрация: 08.06.2007
Сообщений: 6,964
Записей в блоге: 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;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.06.2016, 10:41     Как создать функцию изменяющую значение переменной?
Еще ссылки по теме:

Создать макрос обрамляющий кавычками значение переменной - C++
Кавычки вручную ставить нельзя //Не работает #define T(N) &quot;N&quot; //Хотелось, чтобы работал так: char* c = T(15); //char* c =...

Создать функцию с использованием статической переменной (или переменных), определенной на локальном уровне. - C++
Создать функцию с использованием статической переменной (или переменных), определенной на локальном уровне. Написать функцию Avg (N),...

Создать рекурсивную функцию и вычислить значение ее N-го элемента - C++
Создать рекурсивную функцию и вычислить значение ее N-го элемента, если f(0)=1 { f(1)=1 f(n)=f(n-1) + f(n-2) Проверить...

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


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

Или воспользуйтесь поиском по форуму:
nstwf
87 / 77 / 30
Регистрация: 19.02.2016
Сообщений: 324
Завершенные тесты: 1
17.06.2016, 10:41     Как создать функцию изменяющую значение переменной? #6
Моя ошибка, я показывал через указатель.
Yandex
Объявления
17.06.2016, 10:41     Как создать функцию изменяющую значение переменной?
Ответ Создать тему
Опции темы

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