Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.53/40: Рейтинг темы: голосов - 40, средняя оценка - 4.53
0 / 0 / 0
Регистрация: 07.01.2014
Сообщений: 25
1

Как передать значение переменной из одной функции в другую функцию

22.01.2014, 20:30. Показов 8120. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
нужно передать значение sum1 , sum2 , sum3 из каждой функции в главную . помогите , пожалуйста .
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
#include "stdafx.h"
#include <iostream>
#include <cstdlib>
#include <ctime>
#include <iomanip>
using namespace std;
typedef  int Matrix[10][10];    //тип матриці
Matrix A;                           //вихідна матриця 
typedef  int MatrixB[10][10];   //тип матриці
MatrixB B;                          //вихідна матриця 
typedef  int MatrixC[10][10];   //тип матриці
MatrixC C;                          //вихідна матриця 
int n;              //кількість рядків і стовпчиків матриці
void input1(Matrix);                // генерація матриці1
void output1(Matrix);           // виведення матриці1 
void suma1(Matrix); 
void input2(MatrixB);               // генерація матриці2
void output2(MatrixB);          // виведення матриці2 
int suma2(MatrixB);
void input3(MatrixC);               // генерація матриці2
void output3(MatrixC);          // виведення матриці 2
void suma3(MatrixC);
//=============== головна функцiя ================ 
int main()
{   
cout<<"Input n: "; 
cin>>n; //ввести розмірність матриці            
cout << "\n";
input1(A);              
output1(A);         
cout << "\n";
suma1(A);   //сума1
input2(B);              
output2(B);         
cout << "\n";
suma2(B);   //сума2
input3(C);              
output3(C);         
cout << "\n";
suma3(C);   //сума3
cout << "\n";
cout << "Cреднее арифм. : " << (sum1+sum2+sum3)/3;
system("pause");
}
//============== генерація матриці =================
void input1(Matrix matr1)
{  //srand(time(NULL));
for (int i=0; i<n; i++)
for (int j=0; j<n; j++)
   matr1[i][j]=rand()%9;//генерація поточного елемента матриці
}
//=============== виведення матриці =================
void output1(Matrix matr1)
{   for (int i=0; i<n; i++)
{ for (int j=0; j<n; j++)
 cout<<setw(4)<<matr1[i][j];    //виведення елементів рядка
cout<<endl;                 //перехід на новий рядок
     }
}
//======== cума елементів заштрихованої частини  ========
void suma1(Matrix matr1)
{   int sum1=0;
    for(int i=0; i<n; i++){
        for(int j=0;j < n ; j++)
            if (i <=n/2. && (i >= j || (n - j - 1<= i)) || (( i >=n/2.) && (( j <=n-i-1) || ( j >= i ))) || ( i == j ))
            sum1+=matr1[i][j];
            int &sm1=sum1;
    }
    cout << "Sum:"<< sum1 << endl;              
}
void input2(MatrixB matr2)
{   //srand(time(NULL));
for (int i=0; i<n; i++)
for (int j=0; j<n; j++)
   matr2[i][j]=rand()%9;    //генерація поточного елемента матриці
}
//=============== виведення матриці =================
void output2(MatrixB matr2)
{   for (int i=0; i<n; i++)
{ for (int j=0; j<n; j++)
 cout<<setw(4)<<matr2[i][j];    //виведення елементів рядка
    cout<<endl;                 //перехід на новий рядок
     }
}
//======== cума елементів заштрихованої частини  ========
int suma2(MatrixB matr2)
{   int sum2=0;
    for(int i=0; i<n; i++){
        for(int j=0;j < n ; j++)
            if (i <=n/2. && (i >= j || (n - j - 1<= i)) || (( i >=n/2.) && (( j <=n-i-1) || ( j >= i ))) || ( i == j ))
            sum2+=matr2[i][j];
            int &sm2=sum2;
    }
    cout << "Sum:"<< sum2 << endl;          
    return sum2;
}
void input3(MatrixC matr3)
{  //srand(time(NULL));
for (int i=0; i<n; i++)
for (int j=0; j<n; j++)
   matr3[i][j]=rand()%9;    //генерація поточного елемента матриці
}
//=============== виведення матриці =================
void output3(MatrixC matr3)
{   for (int i=0; i<n; i++)
{ for (int j=0; j<n; j++)
 cout<<setw(4)<<matr3[i][j];    //виведення елементів рядка
    cout<<endl;                 //перехід на новий рядок
     }
}
//======== cума елементів заштрихованої частини  ========
void suma3(MatrixC matr3)
{   int sum3=0;
    for(int i=0; i<n; i++){
        for(int j=0;j < n ; j++)
            if (i <=n/2. && (i >= j || (n- j - 1<= i)) || (( i >=n/2.) && (( j <=n-i-1) || ( j >= i ))) || ( i == j ))
            sum3+=matr3[i][j];
    }
    cout << "Sum:"<< sum3 << endl;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
22.01.2014, 20:30
Ответы с готовыми решениями:

Передать значение из одной функции в другую функцию в связном списке
Как можно передать значение из одной функции в другую функцию в связном списке? Например у меня...

Как передать значение из одной функции в другую?
Как передать значение s из функции main() в функцию poisk()? Как передать значение i из функции...

Как передать матрицу, полученную в одной функции, в другую функцию?
как передать матрицу ,которую мы получили в одной функции в другую функцию? Написала функции для...

Как передать значение функции класса в другую функцию?
имеется класс class Test { public: int getB() { return B; } void setB(int...

7
571 / 539 / 280
Регистрация: 25.12.2013
Сообщений: 1,456
22.01.2014, 20:34 2
Цитата Сообщение от Act1v3 Посмотреть сообщение
нужно передать значение sum1 , sum2 , sum3 из каждой функции в главную
C++
1
2
3
4
5
6
7
8
9
10
int suma1(Matrix matr1)
{   int sum1=0;
    for(int i=0; i<n; i++){
        for(int j=0;j < n ; j++)
            if (i <=n/2. && (i >= j || (n - j - 1<= i)) || (( i >=n/2.) && (( j <=n-i-1) || ( j >= i ))) || ( i == j ))
            sum1+=matr1[i][j];
            int &sm1=sum1;
    }
    return sum;             
}
Добавлено через 1 минуту
Цитата Сообщение от Act1v3 Посмотреть сообщение
int &sm1=sum1;
что это?
0
0 / 0 / 0
Регистрация: 07.01.2014
Сообщений: 25
22.01.2014, 20:35  [ТС] 3
попытка использовать ссылки . забыл удалить .
0
Форумчанин
Эксперт CЭксперт С++
8216 / 5046 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
22.01.2014, 20:38 4
Цитата Сообщение от Act1v3 Посмотреть сообщение
Как передать значение переменной из одной функции в другую функцию
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
 
int random()
{
    return 42;
}
 
void just_print(const int x)
{
    std::cout << x << std::endl;
}
 
int main()
{
    just_print(random()); // в функцию just_print передается результат работы функции random
}
1
0 / 0 / 0
Регистрация: 07.01.2014
Сообщений: 25
22.01.2014, 20:45  [ТС] 5
то , что вы написали понятно . а вот связь с моей задачей я уловить не могу ..
0
Форумчанин
Эксперт CЭксперт С++
8216 / 5046 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
22.01.2014, 20:52 6
Цитата Сообщение от Act1v3 Посмотреть сообщение
то , что вы написали понятно . а вот связь с моей задачей я уловить не могу ..
а ваш код читать невозможно из-за форматирования, так что ответил лишь в общих чертах.
0
571 / 539 / 280
Регистрация: 25.12.2013
Сообщений: 1,456
22.01.2014, 20:59 7
Цитата Сообщение от Act1v3 Посмотреть сообщение
а вот связь с моей задачей я уловить не могу ..
если вы хотели посчитать ср. арифметическое сумм в main, тогда вот:
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
#include <iostream>
#include <cstdlib>
#include <ctime>
#include <iomanip>
using namespace std;
typedef  int Matrix[10][10];    //тип матриці
Matrix A;                           //вихідна матриця
typedef  int MatrixB[10][10];   //тип матриці
MatrixB B;                          //вихідна матриця
typedef  int MatrixC[10][10];   //тип матриці
MatrixC C;                          //вихідна матриця
int n;              //кількість рядків і стовпчиків матриці
void input1(Matrix);                // генерація матриці1
void output1(Matrix);           // виведення матриці1
int suma1(Matrix);
void input2(MatrixB);               // генерація матриці2
void output2(MatrixB);          // виведення матриці2
int suma2(MatrixB);
void input3(MatrixC);               // генерація матриці2
void output3(MatrixC);          // виведення матриці 2
int suma3(MatrixC);
//=============== головна функцiя ================
int main()
{
    cout<<"Input n: ";
    cin>>n; //ввести розмірність матриці
    cout << "\n";
    input1(A);
    output1(A);
    cout << "\n";
    suma1(A);   //сума1
    input2(B);
    output2(B);
    cout << "\n";
    suma2(B);   //сума2
    input3(C);
    output3(C);
    cout << "\n";
    suma3(C);   //сума3
    cout << "\n";
    cout << "Cреднее арифм. : " << (suma1(A)+suma2(B)+suma3(C))/3;
    system("pause");
}
//============== генерація матриці =================
void input1(Matrix matr1)
{
    //srand(time(NULL));
    for (int i=0; i<n; i++)
        for (int j=0; j<n; j++)
            matr1[i][j]=rand()%9;//генерація поточного елемента матриці
}
//=============== виведення матриці =================
void output1(Matrix matr1)
{
    for (int i=0; i<n; i++)
    {
        for (int j=0; j<n; j++)
            cout<<setw(4)<<matr1[i][j];    //виведення елементів рядка
        cout<<endl;                 //перехід на новий рядок
    }
}
//======== cума елементів заштрихованої частини  ========
int suma1(Matrix matr1)
{
    int sum1=0;
    for(int i=0; i<n; i++)
    {
        for(int j=0; j < n ; j++)
            if (i <=n/2. && (i >= j || (n - j - 1<= i)) || (( i >=n/2.) && (( j <=n-i-1) || ( j >= i ))) || ( i == j ))
                sum1+=matr1[i][j];
        int &sm1=sum1;
    }
    cout << "Sum:"<< sum1 << endl;
    return sum1;
}
void input2(MatrixB matr2)
{
    //srand(time(NULL));
    for (int i=0; i<n; i++)
        for (int j=0; j<n; j++)
            matr2[i][j]=rand()%9;    //генерація поточного елемента матриці
}
//=============== виведення матриці =================
void output2(MatrixB matr2)
{
    for (int i=0; i<n; i++)
    {
        for (int j=0; j<n; j++)
            cout<<setw(4)<<matr2[i][j];    //виведення елементів рядка
        cout<<endl;                 //перехід на новий рядок
    }
}
//======== cума елементів заштрихованої частини  ========
int suma2(MatrixB matr2)
{
    int sum2=0;
    for(int i=0; i<n; i++)
    {
        for(int j=0; j < n ; j++)
            if (i <=n/2. && (i >= j || (n - j - 1<= i)) || (( i >=n/2.) && (( j <=n-i-1) || ( j >= i ))) || ( i == j ))
                sum2+=matr2[i][j];
        int &sm2=sum2;
    }
    cout << "Sum:"<< sum2 << endl;
    return sum2;
}
void input3(MatrixC matr3)
{
    //srand(time(NULL));
    for (int i=0; i<n; i++)
        for (int j=0; j<n; j++)
            matr3[i][j]=rand()%9;    //генерація поточного елемента матриці
}
//=============== виведення матриці =================
void output3(MatrixC matr3)
{
    for (int i=0; i<n; i++)
    {
        for (int j=0; j<n; j++)
            cout<<setw(4)<<matr3[i][j];    //виведення елементів рядка
        cout<<endl;                 //перехід на новий рядок
    }
}
//======== cума елементів заштрихованої частини  ========
int suma3(MatrixC matr3)
{
    int sum3=0;
    for(int i=0; i<n; i++)
    {
        for(int j=0; j < n ; j++)
            if (i <=n/2. && (i >= j || (n- j - 1<= i)) || (( i >=n/2.) && (( j <=n-i-1) || ( j >= i ))) || ( i == j ))
                sum3+=matr3[i][j];
    }
    cout << "Sum:"<< sum3 << endl;
    return sum3;
}
Но код у вас ужасный
0
0 / 0 / 0
Регистрация: 07.01.2014
Сообщений: 25
23.01.2014, 00:58  [ТС] 8
спасибо, со временем сам дошёл до этого
0
23.01.2014, 00:58
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
23.01.2014, 00:58
Помогаю со студенческими работами здесь

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

Передать значение из одной функции в другую
Нужно значение max передать в другую функцию Потерялся в указателях :С int...

Передать значение из функции main в другую функцию
int Func(){ int a, b=10; int c=a+b; return c; } int main(){ int a=5; return 0;

Как переменную из одной функции передать в другую?
у меня надо переменную index из функции maxi передать в функцию summa #include &quot;stdafx.h&quot;...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Как получить индекс в цикле for в Python
bytestream 21.01.2025
При работе с коллекциями данных в Python часто возникает необходимость не только получить доступ к элементам последовательности, но и знать их позицию в процессе итерации. Индексация в циклах. . .
Как определить адрес, из которого локальный репозиторий Git был клонирован
bytestream 21.01.2025
В современной разработке программного обеспечения система контроля версий Git стала неотъемлемой частью рабочего процесса. При работе с Git разработчики часто сталкиваются с необходимостью. . .
Какая разница между операторами == и === в сравнениях в JavaScript
bytestream 21.01.2025
В мире веб-разработки JavaScript занимает особое место как динамический язык программирования, предоставляющий разработчикам широкий набор инструментов для создания интерактивных веб-приложений. . . .
Из чего и как собрать свой домашний кинотеатр
bt_guru 21.01.2025
Создание домашнего кинотеатра: от идеи до реализации В современном мире домашний кинотеатр стал неотъемлемой частью комфортного жилого пространства, предоставляя возможность наслаждаться. . .
Ошибки стиральных машин
bt_guru 21.01.2025
Современные стиральные машины представляют собой сложные электронные устройства, оснащенные множеством датчиков и систем контроля. Они способны самостоятельно определять вес загруженного белья,. . .
Копирование (маппинг) объектов в JavaScript
bytestream 21.01.2025
В современной разработке программного обеспечения копирование объектов представляет собой фундаментальную операцию, которая требует особого внимания и понимания. Маппинг объектов в JavaScript – это. . .
Как работать с Apache Kafka в C# .NET
bytestream 21.01.2025
Apache Kafka представляет собой распределенную платформу потоковой передачи данных, которая произвела революцию в области обработки больших объемов информации в реальном времени. Эта система,. . .
Как использовать RabbitMQ в C# .NET
bytestream 21.01.2025
RabbitMQ представляет собой мощный брокер сообщений, который эффективно решает эту задачу, обеспечивая надежную передачу данных между множеством приложений. Этот инструмент реализует протокол AMQP. . .
Как объединить последние коммиты в Git
bytestream 21.01.2025
В мире разработки программного обеспечения система контроля версий Git стала незаменимым инструментом для управления исходным кодом. Одной из наиболее полезных, но порой сложных для освоения функций. . .
Как запушить новую локальную ветку (branch) в удалённый репозиторий Git и отслеживать её
bytestream 21.01.2025
В современной разработке программного обеспечения система контроля версий Git стала неотъемлемым инструментом для эффективного управления кодом и организации командной работы. Одной из ключевых. . .
Как создать директорию и все родительские директории, указанные в пути, с помощью Python
bytestream 21.01.2025
Python предоставляет мощные инструменты для работы с файловой системой через встроенные модули os и pathlib, которые значительно упрощают процесс манипуляции директориями. Эти модули содержат. . .
Как работать с массивами в JavaScript
bytestream 21.01.2025
Массивы в JavaScript представляют собой один из фундаментальных типов данных, который позволяет хранить упорядоченные коллекции различных элементов в одной переменной. Эта структура данных является. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru