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

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

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

Функции С++ - C++

24.12.2011, 15:57. Просмотров 723. Ответов 13
Метки нет (Все метки)

Ребят подскажите кто-нибудь
как вынести все cin и cout
в функцию 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
#include <conio.h>
#include <iostream.h>
#include <stdio.h>
 
void razmer(int(&A)[100][100],const int &n,const int &m)
{
    for(int i=0;i<n;i++)
    for(int j=0; j<m; j++)
        cin>>A[i][j];
        cout<<"Razmer matricy sostovlyaet"<<" "<<n<<" "<<m<<endl;
    for( i=0;i<n;i++)
    {
        cout<<endl;
        for(int j=0;j<m;j++)
        {
            cout<<A[i][j]<<" ";
        }
    }
    cout<<endl;
    return;
}
void proverka(int(&A)[100][100],int(&B)[100],int(&C)[100],const int &n, const int &m, int &p, int &k,int &q,int &sum,int &vb,int &vc)
{
    p=0;    
        for(int i=0, j=0;i<n, j<n;j++,i++)
 
    {
        p+=A[i][j];
    }
    k=0;
    for( i=0,j=n-1;j>0,i<n;j--,i++)
    {
        k+=A[i][j];
    }
    
    q=0;
    for( i=0; i<=n;i++)
    {
        B[q]=sum;q++;sum=0;
        for( j=0;j<m;j++)
        {
            sum=sum+A[i][j];
        }
    }
    
    q=0;
        for( j=0;j<=n;j++)
        {
            C[q]=sum;q++;sum=0;
            for( i=0;i<m;i++)
            {
                sum=sum+A[i][j];
            }
        }
        vb=B[m];
        vc=C[n+1];
        for( i=1;i<=n;i++)
        {
            if(vb==B[i])
                vb=B[i];
            else
            {
                vb=0; break;
            }
            for(int j=1;j<=n;j++)
            {
                if(vc==C[j])
                    vc=C[j];
                else
                {
                    vc=0;
                    break;
                }
            }
        }
        return;
}
 
 
    
 
 
int main()
{
    int A[100][100],B[100],C[100];
    int n,k,p,sum,q,m,vc,vb;
    cout<<"Vvedite n"<<endl;
    cin>>n;
    cout<<"Vvedite m"<<endl;
    cin>>m;
    cout<<"Vvedite elementy massiva"<<endl;
    razmer(A,m,n);
    proverka(A,B,C,n,m,p,k,q,sum,vb,vc);
    if(p==k==vb==vc)
    {
        cout<<"matrica yavlyetsy magicheskoi"<<endl;
        return true;
        
    }
    else
    {
        cout<<"matrica ne yavlyetsy magicheskoi"<<endl;
        return false;
        
    }
    
    getch();
    return 0;
 
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.12.2011, 15:57
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Функции С++ (C++):

Функции. Как после одного возвратного значения функции отталкиваться от возврата другой функции - C++
Написал код, в котором 2 функции одна возвращает стринговое значение, вторая должна бы вернуть значение, отталкиваясь от первой. Возможно...

Вычислить m значений функции f(x) на отрезке [a, b]. Вычисление величины f(x) оформить в виде функции - C++
Составить программу решения поставленной задачи: Вычислить m значений функции f(x) на отрезке . Вычисление величины f(x) оформить в виде...

А почему ошибка, что функции print и read не определены в функции main()? - C++
Что-то не понимаю. Они определены в заголовочном файле. А подчеркивается красным что нет.... #include &lt;iostream&gt; #include...

Вычислить где значение функции меняет знак(отделение корней функции) - C++
Имеется следующая функция f(x)=sqrt(4*x+7)-3*cos(x) Нужно написать программу, где будет выводится таблица, где будет видно при каком...

Найти среднее арифметическое значений функции f(x) в точках а, b, (a+b)/2, используя обращение к функции - C++
Найти среднее арифметическое значений функции f(x) в точках а, b, (a+b)/2, используя обращение к функции. f=arctgx+ln^2 x^2 Нужно...

Различные функции, для которых можно создать массив указателей на функции - C++
Придумайте не менее 3-х различных функций, для которых можно создать массив указателей на функции.

13
Jupiter
Каратель
Эксперт С++
6561 / 3982 / 227
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
24.12.2011, 16:01 #2
Цитата Сообщение от Vaduss Посмотреть сообщение
как вынести все cin и cout
куда вынести?
0
Vaduss
0 / 0 / 0
Регистрация: 24.12.2011
Сообщений: 8
24.12.2011, 16:40  [ТС] #3
Добавлено через 35 минут
Может кто подскажет как сделать что бы функция proverka возвращала true или false
0
dimcoder
Полярный
466 / 439 / 68
Регистрация: 11.09.2011
Сообщений: 1,138
24.12.2011, 16:50 #4
Цитата Сообщение от Vaduss Посмотреть сообщение
возвращала true или false
Возвращаешь int (0 - false, 1 -true)
0
Vaduss
0 / 0 / 0
Регистрация: 24.12.2011
Сообщений: 8
24.12.2011, 17:02  [ТС] #5
Цитата Сообщение от dimcoder Посмотреть сообщение
Возвращаешь int (0 - false, 1 -true)
что то не совсем понятно поподробнее можно?
0
go
Эксперт С++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
24.12.2011, 17:14 #6
Цитата Сообщение от Vaduss Посмотреть сообщение
Может кто подскажет как сделать что бы функция proverka возвращала true или false
C++
1
2
3
4
5
6
bool proverka (int a)
{
    if ( a )
        return true;
    return false;
}
Добавлено через 1 минуту
Цитата Сообщение от dimcoder Посмотреть сообщение
Возвращаешь int (0 - false, 1 -true)
Обычно, для true любое число (т.е. истинное выражение, != 0)
false == 0
0
dimcoder
Полярный
466 / 439 / 68
Регистрация: 11.09.2011
Сообщений: 1,138
24.12.2011, 17:19 #7
Пример:
C++
1
2
3
4
5
6
7
int func()
{
   //Выполняете какие-то действия
   return 0; //Возвращает false
   return 1; //Возвращает true 
   return result; //Возвращает true если результат не равен 0, false если result == 0
}
Пример использования:
C++
1
if (func()) ;
PS Я использую инт, у меня нет bool - компилер видимо старый
0
Vaduss
0 / 0 / 0
Регистрация: 24.12.2011
Сообщений: 8
24.12.2011, 17:40  [ТС] #8
ещё такой вопрос как преобразовать входной параметр функции proverka препод проверяет говорит слишком много входных параметров
0
Chelioss
180 / 180 / 4
Регистрация: 08.01.2011
Сообщений: 1,133
24.12.2011, 17:42 #9
Если вам нужна логика true/false, то используйте тип bool, а не другие типы. bool для этого и сделали. С типом bool понятней, что делает код, если он завязан на логику true/false.
Цитата Сообщение от dimcoder Посмотреть сообщение
int func()
{
//Выполняете какие-то действия
return 0; //Возвращает false
return 1; //Возвращает true
return result; //Возвращает true если результат не равен 0, false если result == 0
}
Возвращает 0,1,result, а не какие-то true/false. Не морочьте голову ТС.
0
go
Эксперт С++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
24.12.2011, 17:45 #10
Цитата Сообщение от Vaduss Посмотреть сообщение
препод проверяет говорит слишком много входных параметров
Сделайте их глобальными.
0
Vaduss
0 / 0 / 0
Регистрация: 24.12.2011
Сообщений: 8
24.12.2011, 17:59  [ТС] #11
и как их оъбявить?
0
go
Эксперт С++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
24.12.2011, 18:06 #12
Цитата Сообщение от Vaduss Посмотреть сообщение
и как их оъбявить?
Сразу после подключения заголовков.
0
Vaduss
0 / 0 / 0
Регистрация: 24.12.2011
Сообщений: 8
24.12.2011, 18:09  [ТС] #13
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
#include <conio.h>
#include <iostream.h>
#include <stdio.h>
int n,k,p,sum,q,m,vc,vb,result;
 
void razmer(int(&A)[100][100],const int &n,const int &m)
{
    for(int i=0;i<n;i++)
    for(int j=0; j<m; j++)
        cin>>A[i][j];
    cout<<endl;
    return;
}
int proverka(int(&A)[100][100],int(&B)[100],int(&C)[100])
{
        p=0;    
        for(int i=0, j=0;i<n, j<n;j++,i++)
        {
            p+=A[i][j];
        }
    k=0;
    for( i=0,j=n-1;j>0,i<n;j--,i++)
    {
        k+=A[i][j];
    }
    
    q=0;
    for( i=0; i<=n;i++)
    {
        B[q]=sum;q++;sum=0;
        for( j=0;j<m;j++)
        {
            sum=sum+A[i][j];
        }
    }
    
    q=0;
        for( j=0;j<=n;j++)
        {
            C[q]=sum;q++;sum=0;
            for( i=0;i<m;i++)
            {
                sum=sum+A[i][j];
            }
        }
        vb=B[m];
        vc=C[n+1];
        for( i=1;i<=n;i++)
        {
            if(vb==B[i])
                vb=B[i];
            else
            {
                vb=0; break;
            }
            for(int j=1;j<=n;j++)
            {
                if(vc==C[j])
                    vc=C[j];
                else
                {
                    vc=0;
                    break;
                }
            }
        }
        return 0; //ÂîçâðГ*Г№Г*ГҐГІ false
   return 1; //ÂîçâðГ*Г№Г*ГҐГІ true 
   return result; //ÂîçâðГ*Г№Г*ГҐГІ true åñëè ðåçóëüòГ*ГІ Г*ГҐ Г°Г*ГўГҐГ* 0, false åñëè result == 0
    
}
int main()
{
    int A[100][100],B[100],C[100];
    
    
    cout<<"Vvedite n"<<endl;
    cin>>n;
    cout<<"Vvedite m"<<endl;
    cin>>m;
    cout<<"Vvedite elementy massiva"<<endl;
    razmer(A,m,n);
    
                cout<<"Razmer matricy sostovlyaet"<<" "<<n<<" "<<m<<endl;
    for(int i=0;i<n;i++)
    {
        cout<<endl;
        for(int j=0;j<m;j++)
        {
            cout<<A[i][j]<<" ";
        }
    }
    cout<<endl;
    proverka(A,B,C);
    if(p==k==vb==vc)
    {
        cout<<"matrica yavlyetsy magicheskoi"<<endl;
    
    }
    else
    {
        cout<<"matrica ne yavlyetsy magicheskoi"<<endl;
        
        
    }
    
    getch();
    return 0;
 
}
Добавлено через 38 секунд
что сдесь не так?
0
go
Эксперт С++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
24.12.2011, 18:13 #14
Цитата Сообщение от Vaduss Посмотреть сообщение
что сдесь не так?
Много чего. Может так?
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
#include <iostream>
#include <cstdio>
int n,k,p,sum,q,m,vc,vb,result,i,j;
 
using namespace std;
 
void razmer(int(&A)[100][100],const int &n,const int &m)
{
        for(int i=0;i<n;i++)
        for(int j=0; j<m; j++)
                cin>>A[i][j];
        cout<<endl;
        return;
}
int proverka(int(&A)[100][100],int(&B)[100],int(&C)[100])
{
                p=0;    
                for( i=0, j=0;i<n, j<n;j++,i++)
                {
                        p+=A[i][j];
                }
        k=0;
        for( i=0,j=n-1;j>0,i<n;j--,i++)
        {
                k+=A[i][j];
        }
        
        q=0;
        for( i=0; i<=n;i++)
        {
                B[q]=sum;q++;sum=0;
                for( j=0;j<m;j++)
                {
                        sum=sum+A[i][j];
                }
        }
        
        q=0;
                for( j=0;j<=n;j++)
                {
                        C[q]=sum;q++;sum=0;
                        for( i=0;i<m;i++)
                        {
                                sum=sum+A[i][j];
                        }
                }
                vb=B[m];
                vc=C[n+1];
                for( i=1;i<=n;i++)
                {
                        if(vb==B[i])
                                vb=B[i];
                        else
                        {
                                vb=0; break;
                        }
                        for(int j=1;j<=n;j++)
                        {
                                if(vc==C[j])
                                        vc=C[j];
                                else
                                {
                                        vc=0;
                                        break;
                                }
                        }
                }
                return 0; //Возвращает false
   return 1; //Возвращает true 
   return result; //Возвращает true если результат не равен 0, false если result == 0
        
}
int main()
{
        int A[100][100],B[100],C[100];
        
        
        cout<<"Vvedite n"<<endl;
        cin>>n;
        cout<<"Vvedite m"<<endl;
        cin>>m;
        cout<<"Vvedite elementy massiva"<<endl;
        razmer(A,m,n);
        
                                cout<<"Razmer matricy sostovlyaet"<<" "<<n<<" "<<m<<endl;
        for(int i=0;i<n;i++)
        {
                cout<<endl;
                for(int j=0;j<m;j++)
                {
                        cout<<A[i][j]<<" ";
                }
        }
        cout<<endl;
        proverka(A,B,C);
        if(p==k==vb==vc)
        {
                cout<<"matrica yavlyetsy magicheskoi"<<endl;
        
        }
        else
        {
                cout<<"matrica ne yavlyetsy magicheskoi"<<endl;
                
                
        }
        return 0;
 
}
0
24.12.2011, 18:13
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.12.2011, 18:13
Привет! Вот еще темы с ответами:

Найти среднее арифметическое значений функции f(x) в точках a, b, (a+b)/2 используя обращение к функции - C++
А этой нету: 3.Найти среднее арифметическое значений функции f(x) в точках a, b, (a+b)/2 используя обращение к функции f=(x*sin⁡ π/4) /...

Вызов функции внутри другой функции с передачей локальной переменной по ссылке - C++
Столкнулся с очень с интересной проблемой. Можно ли так делать? #include &lt;iostream&gt; using std::cout; void f(const int &amp;ref){...

Вычислить функции с использованием их разложения в степенной ряд. Функции и Перегрузка функций - C++
Добрый день. Дана лабораторная работа, (см. ниже 2 скриншота) по заданию нужно вычислить функции с использованием их разложения в степенной...

Найти среднее арифметическое значений функции f(x) в точках а, b, (a+b)/2, используя обращение к функции - C++
здраствуйте знатаки!! помогите пожалуйсто решить задачу.Найти среднее арифметическое значений функции f(x) в точках а, b, (a+b)/2,...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Опции темы

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