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

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

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

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

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

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

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

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

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

Напишите функцию, принимающую два аргумента, изменяющую значение второго аргумента и возвращающую void - C++
Помогите, пожалуйста:( Напишите функцию add_tax типа void. У нее два формальных параметра: taxRate, значение которого представляет налог...

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

Как передать значение переменной из одной функции в другую функцию - C++
нужно передать значение sum1 , sum2 , sum3 из каждой функции в главную . помогите , пожалуйста . #include "stdafx.h" #include...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
nmcf
5319 / 4639 / 1551
Регистрация: 14.04.2014
Сообщений: 18,452
17.06.2016, 09:21 #2
Ссылку передавай.
0
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");
}
0
Blitzor DDD
13 / 13 / 1
Регистрация: 17.08.2015
Сообщений: 460
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;
}
0
palva
2614 / 1836 / 263
Регистрация: 08.06.2007
Сообщений: 6,994
Записей в блоге: 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;
}
0
nstwf
87 / 77 / 30
Регистрация: 19.02.2016
Сообщений: 324
Завершенные тесты: 1
17.06.2016, 10:41 #6
Моя ошибка, я показывал через указатель.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.06.2016, 10:41
Привет! Вот еще темы с ответами:

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

Создать две переменных, ввести их с клавиатуры. Вывести строки: имя переменной - адрес переменной - значение п - C++
Создать две переменных, ввести их с клавиатуры. Вывести строки: имя переменной - адрес переменной - значение переменной.

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

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


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
17.06.2016, 10:41
Ответ Создать тему
Опции темы

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