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

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

Восстановить пароль Регистрация
 
Vaduss
0 / 0 / 0
Регистрация: 24.12.2011
Сообщений: 8
24.12.2011, 15:57     Функции С++ #1
Ребят подскажите кто-нибудь
как вынести все 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;
 
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.12.2011, 15:57     Функции С++
Посмотрите здесь:

C++ Как из обыной функции вызвать функции член класса?
ввод данных в функции конструктора и использование их в перегруженой функции C++
C++ Заданы три функции. Определить, являются ли эти функции четными или нечетными
C++ Получить указатель из функции и использовать его в другой функции
C++ Определить конструкторы, функции-члены установки времени, функции получения часа, минуты и секунд
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jupiter
Каратель
Эксперт C++
6543 / 3963 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
24.12.2011, 16:01     Функции С++ #2
Цитата Сообщение от Vaduss Посмотреть сообщение
как вынести все cin и cout
куда вынести?
Vaduss
0 / 0 / 0
Регистрация: 24.12.2011
Сообщений: 8
24.12.2011, 16:40  [ТС]     Функции С++ #3
Добавлено через 35 минут
Может кто подскажет как сделать что бы функция proverka возвращала true или false
dimcoder
Полярный
 Аватар для dimcoder
449 / 422 / 66
Регистрация: 11.09.2011
Сообщений: 1,108
24.12.2011, 16:50     Функции С++ #4
Цитата Сообщение от Vaduss Посмотреть сообщение
возвращала true или false
Возвращаешь int (0 - false, 1 -true)
Vaduss
0 / 0 / 0
Регистрация: 24.12.2011
Сообщений: 8
24.12.2011, 17:02  [ТС]     Функции С++ #5
Цитата Сообщение от dimcoder Посмотреть сообщение
Возвращаешь int (0 - false, 1 -true)
что то не совсем понятно поподробнее можно?
go
Эксперт C++
3582 / 1362 / 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
dimcoder
Полярный
 Аватар для dimcoder
449 / 422 / 66
Регистрация: 11.09.2011
Сообщений: 1,108
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 - компилер видимо старый
Vaduss
0 / 0 / 0
Регистрация: 24.12.2011
Сообщений: 8
24.12.2011, 17:40  [ТС]     Функции С++ #8
ещё такой вопрос как преобразовать входной параметр функции proverka препод проверяет говорит слишком много входных параметров
Chelioss
179 / 179 / 4
Регистрация: 08.01.2011
Сообщений: 1,131
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. Не морочьте голову ТС.
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
24.12.2011, 17:45     Функции С++ #10
Цитата Сообщение от Vaduss Посмотреть сообщение
препод проверяет говорит слишком много входных параметров
Сделайте их глобальными.
Vaduss
0 / 0 / 0
Регистрация: 24.12.2011
Сообщений: 8
24.12.2011, 17:59  [ТС]     Функции С++ #11
и как их оъбявить?
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
24.12.2011, 18:06     Функции С++ #12
Цитата Сообщение от Vaduss Посмотреть сообщение
и как их оъбявить?
Сразу после подключения заголовков.
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 секунд
что сдесь не так?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.12.2011, 18:13     Функции С++
Еще ссылки по теме:

шаблон функции. Задачей функции является округление вышеуказанного вещественного числа с заданной точностью C++
Возврат 2 значений из функции с одним вызовом этой же функции C++
C++ Определить типы и функции; в функции main() реализовать демонстрацию работы

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

Или воспользуйтесь поиском по форуму:
go
Эксперт C++
3582 / 1362 / 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;
 
}
Yandex
Объявления
24.12.2011, 18:13     Функции С++
Ответ Создать тему
Опции темы

Текущее время: 18:28. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru