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

Применение переменных одной функции в другой функции - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Определить периметры треугольников, заданных координатами их вершин http://www.cyberforum.ru/cpp-beginners/thread1033605.html
Здравствуйте!Помогите пожалуйста с программой. Задание: Определить периметры треугольников, заданных координатами их вершин XA(5), XB(5), XC(5),(координаты в массиве) YA(5), YB(5), YC(5) Длину...
C++ Шаблоны. Шаблонное наследование продемонстрировать работы с преобразованием типов, по возможности использовать свойства C++( 2 функции на каждую переменную) и реализовать smart-указатель. Реализовать шаблон класса, наследуемого от... http://www.cyberforum.ru/cpp-beginners/thread1033602.html
C++ на отрезке (100,N) 2^10<n<2^31
на отрезке (100,N) (2^10<n<2^31) найти количество чисел,составленных из цифр а,b,c
Как сделать, так чтобы i и j можно было вводить самому "i" И "j" в цикле, есть программа C++
#include <iostream> using namespace std; int main() {int a=0,b=0; int i=0; cout<<"Vvedite i="<<endl; cin>>i; cout<<"i="<<i<<endl; int j=0; cout<<"Vvedite j="<<endl;
C++ Вычислить число сочетаний из n по m http://www.cyberforum.ru/cpp-beginners/thread1033570.html
Задание "Вычислить число сочетаний из n по m" Вот формула: C_{n}^{m}=\frac{n!}{m!(n-m)!} Что тут не так ??? #include <iostream> #include <conio.h> #include <math.h> #include <cmath>
C++ Вычеркните из заданного целого числа самую большую цифру Помогите пожалуйста реализовать 2 задачи через циклы:do, do...while или for 1.Вычеркните из заданного целого числа самую большую цифру. Реально очень нужно к завтрому, заранее большое спасибо. подробнее

Показать сообщение отдельно
VВладимир
1 / 1 / 0
Регистрация: 08.10.2012
Сообщений: 50

Применение переменных одной функции в другой функции - C++

08.12.2013, 20:43. Просмотров 814. Ответов 3
Метки (Все метки)

Здравствуйте. Помогите, пожалуйста, решить такую проблему. Мне необходимо, чтобы 4 переменных, которые рассчитываются в одной функции, были бы видны в другой функции. Из экспериментов я понял, что вторая функция может корректно "видеть" только те переменные, которые были возвращены с помощью оператора return в первой функции. Но в функции может быть возвращена только одна переменная, а мне надо 4 - чтобы другая функция их "видела". Можно, конечно, разбить одну функцию на 4 и в каждой вернуть по переменной, а потом использовать их в другой функции. Но, как я понял, есть другие способы. Это применение меток, указателей, объединение переменных в массив - но для меня это пока непонятно. Подскажите, пожалуйста, как можно несколько переменных из одной функции использовать в другой функции. Заранее благодарен.
Выкладываю код, в котором я пытался объединить переменные в массив и затем вернуть его. Но, к сожаление, происходит корректно возврат только первого элемента массива.

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
51
float functionWeight( float x111, float x112,
{//Начало 1 функции
//Формулы и вычисления
//Вычисление параметров, передаваемых в другую функцию
S31=x311*w311+x321*w321+x331*w331+x341*w341;
S32=x312*w312+x322*w322+x332*w332+x342*w342;
S33=x313*w313+x323*w323+x333*w333+x343*w343;
S34=x314*w314+x324*w324+x334*w334+x344*w344;
 
float mas1 [4];//Объединение переменных в массив
 {mas1 [0]=S31;
 mas1 [1]=S32;
 mas1 [2]=S33;
 mas1 [3]=S34;
}
 
return (mas1 [0],  mas1 [1], mas1 [2], mas1 [3]);//Попытка возврата массива
}//Конец 1 функции
 
 
float functionPrognoz(float y31, float y32,.....)
 
{//Начало 2 функции
S31 = mas1 [0];
 S32 = mas1 [1];
 S33 = mas1 [2];
 S34 = mas1 [3];
 
y31=6388*(-0.5+1 / (1 + exp(-1 *alpha *S31)));    
y32=300*(-0.5+1 / (1 + exp(-1 *alpha *S32)));    
y33=1387*(-0.5+1 / (1 + exp(-1 *alpha *S33)));    
y34=800*(-0.5+1 / (1 + exp(-1 *alpha *S34))); 
 
 
Y2 = y31+ y32+ y33 + y34; 
 
return Y2;
}//Конец 2 функции
 
 
int main()
{float Y2;
float mas1;
 
float valueY2 = functionPrognoz(y31, y32, y33, y34, alpha, Y2);//Вызов функции в теле главной функции
 
cout <<valueY2<< endl;
 
 system("pause");  
 return 0;
 }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru