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

Работа с функциями - C++

Восстановить пароль Регистрация
 
Gazovik7
1 / 1 / 0
Регистрация: 04.12.2012
Сообщений: 27
08.12.2012, 17:26     Работа с функциями #1
Помогите решить эту задачу:

С другом сидели и сделали так (на Си):
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>
int get_matrix_sum(int* matrix, int width, int height);
int main(int argc, char** argv)
{
    int A[4] = {1,2,3,4};
    int B[4] = {5,6,7,8};
    int C[4] = {9,10,11,12};
    int X[3] = {get_matrix_sum(A,2,2), get_matrix_sum(B,2,2), get_matrix_sum(C,2,2)};
    printf("Dlina vektora ravna %d\n", get_matrix_sum(X,3,1));
    return 0;
}
int get_matrix_sum(int* matrix, int width, int height){
    int sum = 0;
    for(int i=0; i < height; i++){
        for(int j=0; j<width; j++){
            sum+=matrix[i+j];
        }
    }
    return sum;
}
Помогите на С++ перевести и сделать так, чтобы мы сами вводили элементы матрицы как в задании
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.12.2012, 17:26     Работа с функциями
Посмотрите здесь:

работа с функциями в С++ !! C++
работа с функциями C++
C++ Работа с функциями
C++ работа с функциями , С++
Работа с функциями C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nixy
ComfyMobile
 Аватар для Nixy
399 / 280 / 8
Регистрация: 24.07.2012
Сообщений: 916
08.12.2012, 17:32     Работа с функциями #2
длина вектора по иной формуле расчитывается (это корень квадратный из суммы квадратов координат), и ваш код отлично ложится на язык С++ , и я не думаю, если вы с другом смогли сделать такой код , что вам будет трудно погуглить как вводить на с++ данные в консоли с клавиатурой, там все очень тривиально
Gazovik7
1 / 1 / 0
Регистрация: 04.12.2012
Сообщений: 27
08.12.2012, 17:42  [ТС]     Работа с функциями #3
ложится-то ложится, но надо как в С++ сделать. насчёт длины вектора - это да.
у нас знания, к сожалению, поверхностные по программированию: второй месяц изучаем.
помогите с переводом на С++, пож-та, и так, чтобы мы сами вводили элементы (как на картинке).
Nixy
ComfyMobile
 Аватар для Nixy
399 / 280 / 8
Регистрация: 24.07.2012
Сообщений: 916
08.12.2012, 17:55     Работа с функциями #4
когда я говорю что ложится, это значит что этот код работает в С++ и менять не надо ни чего, ну щас допишу вам ввод
Gazovik7
1 / 1 / 0
Регистрация: 04.12.2012
Сообщений: 27
08.12.2012, 18:38  [ТС]     Работа с функциями #5
Вот моя задача (фото удалили):
Даны три квадратные матрицы A, B, C.
Найти длину вектора X={x1, x2, x3}, где x1 – сумма элементов матрицы A; x2 – сумма элементов матрицы B; x3 – сумма элементов матрицы C. Вычислить сумму элементов матрицы оформить в виде подпрограммы – функции.
Исходные данные:
матрица A 2x2
матрица В 3х3
матрица С 2х2
(элементы вводим сами)
Помогите написать на С++
Nixy
ComfyMobile
 Аватар для Nixy
399 / 280 / 8
Регистрация: 24.07.2012
Сообщений: 916
08.12.2012, 18:41     Работа с функциями #6
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
#include <iostream.h>
#include <math.h>
#include <windows.h>
int get_matrix_sum(int** matrix, int width, int height);
 
int main(int argc, char** argv)
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251); // русский язык
    int** A;  //указатель на тип в С++ фактически начало массива
    int** B;  //указатель на указатель типа фактически двумерный массив
    int** C;  //поэтому А B C являются двумерными динамичкскими массивами
    int col;
    int row;
    int X[3];
 
    cout<< "Введите Количество Строк массива А"<<endl ;
    cin>> row;
    A = new int*[row];   // Выделение памяти на указатели на тип int внутри которых
                         // row адресов на тип int
    cout<< "Введите Количество Cтолбцов массива А"<<endl ;
    cin>> col;
    for (int i = 0; i < row; i++) {
      A[i] = new int[col];
      for (int j = 0; j < col; j++) {
          cout<< "Введите " << i << " " << j << " элемент массива А " ;
          cin>> A[i][j];
      }
      cout<<endl;
    }
 
    for (int i = 0; i < row; i++) {
        for (int j = 0; j < col; j++) {
            cout << " " << A[i][j] << " ";
        }
    cout << endl;
    }
 
    X[0] = get_matrix_sum(A,col,row);
 
    cout<< "Введите Количество Строк массива B"<<endl ;
    cin>> row;
    B = new int*[row];
    cout<< "Введите Количество Cтолбцов массива B"<<endl ;
    cin>> col;
    for (int i = 0; i < row; i++) {
      B[i] = new int[col];
      for (int j = 0; j < col; j++) {
          cout<< "Введите " << i << " " << j << " элемент массива B " ;
          cin>> B[i][j];
      }
       cout<<endl;
    }
 
    for (int i = 0; i < row; i++) {
        for (int j = 0; j < col; j++) {
            cout << " " << B[i][j] << " ";
        }
    cout << endl;
    }
 
    X[1] = get_matrix_sum(B,col,row);
 
    cout<< "Введите Количество Строк массива C"<<endl ;
    cin>> row;
    C = new int*[row];
    cout<< "Введите Количество Cтолбцов массива C"<<endl ;
    cin>> col;
    for (int i = 0; i < row; i++) {
      C[i] = new int[col];
      for (int j = 0; j < col; j++) {
          cout<< "Введите " << i << " " << j << " элемент массива C ";
          cin>> C[i][j];
      }
       cout<<endl;
    }
 
    for (int i = 0; i < row; i++) {
        for (int j = 0; j < col; j++) {
            cout << " " << C[i][j] << " ";
        }
    cout << endl;
    }
 
    X[2] = get_matrix_sum(C,col,row);
 
    double b = X[0]*X[0]+X[1]*X[1]+X[2]*X[2];
    cout <<endl;
    for (int i = 0 ; i < 3; i++) {
      cout<< " "<< X[i] << " ";
    }
    cout<< "Длина Вектора Х "<< pow(b,0.5)<<endl;
    system("pause");
    return 0;
}
   /*int * matrix  указатель на тип int , достаточно передать указатель на начало
    * массива А[0][0]
   */
int get_matrix_sum(int** matrix, int width, int height){
    int sum = 0;
    for(int i=0; i < height; i++){
        for(int j=0; j<width; j++){
            sum+=matrix[i][j];
        }
    }
    return sum;
}
Gazovik7
1 / 1 / 0
Регистрация: 04.12.2012
Сообщений: 27
08.12.2012, 18:53  [ТС]     Работа с функциями #7
Выдаёт ошибки:
e:\prog\cpp1.cpp(32) : error C2374: 'i' : redefinition; multiple initialization
e:\prog\cpp1.cpp(23) : see declaration of 'i'
e:\prog\cpp1.cpp(46) : error C2374: 'i' : redefinition; multiple initialization
e:\prog\cpp1.cpp(23) : see declaration of 'i'
e:\prog\cpp1.cpp(55) : error C2374: 'i' : redefinition; multiple initialization
e:\prog\cpp1.cpp(23) : see declaration of 'i'
e:\prog\cpp1.cpp(69) : error C2374: 'i' : redefinition; multiple initialization
e:\prog\cpp1.cpp(23) : see declaration of 'i'
e:\prog\cpp1.cpp(78) : error C2374: 'i' : redefinition; multiple initialization
e:\prog\cpp1.cpp(23) : see declaration of 'i'
e:\prog\cpp1.cpp(89) : error C2374: 'i' : redefinition; multiple initialization
e:\prog\cpp1.cpp(23) : see declaration of 'i'
Nixy
ComfyMobile
 Аватар для Nixy
399 / 280 / 8
Регистрация: 24.07.2012
Сообщений: 916
08.12.2012, 18:58     Работа с функциями #8
вы у себя гдето сверху объявили переменную i я же ее определяю внутри каждого цикла либо внутри циклов уберите строку int либо если больше переменная i не нужна уберите ее, у вас VS?
Gazovik7
1 / 1 / 0
Регистрация: 04.12.2012
Сообщений: 27
08.12.2012, 19:15  [ТС]     Работа с функциями #9
погуглил, стало ясно, вам огромное спасибо! убрал из for'a все int'ы, в начале объявил int i,j. всё пашет!
ещё раз премного вам благодарен.

Добавлено через 9 минут
Цитата Сообщение от Nixy Посмотреть сообщение
вы у себя гдето сверху объявили переменную i я же ее определяю внутри каждого цикла либо внутри циклов уберите строку int либо если больше переменная i не нужна уберите ее, у вас VS?
ПОСПЕШИЛ, у меня Microsoft Visual C++. Я убрал из for'a все int'ы и написал в начале int i,j. После нажатия Ctrl+F7 не было обнаружено ошибок, НО после нажатия Ctrl+F5 вышло следующее:
--------------------Configuration: Cpp1 - Win32 Debug--------------------
Linking...
Cpp1.obj : error LNK2001: unresolved external symbol "int __cdecl get_matrix_sum(int * *,int,int)" (?get_matrix_sum@@YAHPAPAHHH@Z)
Debug/Cpp1.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.

Cpp1.exe - 2 error(s), 0 warning(s)


Помогите, пож-та.
Nixy
ComfyMobile
 Аватар для Nixy
399 / 280 / 8
Регистрация: 24.07.2012
Сообщений: 916
08.12.2012, 19:35     Работа с функциями #10
у вас не совподает объявление функции sum и ее заголовок во время описания снизу, и ошибка линкера, он собрал объектный фаил с одним описанием функции а потом находит, а там другая, если не поможет пришлите код я гляну, и да для "спасибо" тут кнопка есть )
Gazovik7
1 / 1 / 0
Регистрация: 04.12.2012
Сообщений: 27
08.12.2012, 20:37  [ТС]     Работа с функциями #11
Цитата Сообщение от Nixy Посмотреть сообщение
у вас не совподает объявление функции sum и ее заголовок во время описания снизу, и ошибка линкера, он собрал объектный фаил с одним описанием функции а потом находит, а там другая, если не поможет пришлите код я гляну, и да для "спасибо" тут кнопка есть )
всё равно не получается, пытался делать по этому примеру:
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
#include<iostream.h>
#include<iomanip.h>
int sum(int **a,const int n,const int m);
int matr(int **a,const int n,const int m);  // obyavlenie funcsii
int main()
{
    int n,m;
    cout<<"\nVvedite kol.strok-n i kol.stolb-m\n";
    cin>>n>>m;
    cout<<"n="<<n<<"  "<<"m="<<m;
    int **a,i,j;
    
 
    // Формирование матрицы А
    cout<<"\nVvedite matrisu A\n";
    a=new int *[n];
    for (i=0; i<n; i++)
          a[i]= new int [m];
    for(i=0; i<n; i++)
        for(j=0; j<m; j++)
            cin>>a[i][j];
        cout<<"sum="<<sum(a,n,m)<<"\n";
        cout<<matr(a,n,m);
        return 0;
}
 
 
 
 
int sum(int **a,const int n,const int m)
{ // opredelenie funcsii  -  sum
    int i,j,s=0;
for(i=0; i<n; i++)
        for(j=0; j<m; j++)
            s+=a[i][j];
        return s;
}
int matr(int **a,const int n,const int m)
{ // opredelenie funcsii  -  //печать матрицы
          int i,j;
          for(i=0; i<n; i++){
        for(j=0; j<m; j++)
            cout<<setw(4)<<a[i][j]<<"   ";
        cout<<endl;}
        return (**a);
}
не знаю, что делать с задачей здесь:
ещё раз сама задача:
Даны три квадратные матрицы A, B, C.
Найти длину вектора X={x1, x2, x3}, где x1 – сумма элементов матрицы A; x2 – сумма элементов матрицы B; x3 – сумма элементов матрицы C. Вычислить сумму элементов матрицы оформить в виде подпрограммы – функции.
Исходные данные:
матрица A 2x2

матрица В 3х3
матрица С 2х2
(элементы вводим сами)

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
#include <iostream.h>
#include <math.h>
#include <windows.h>
int get_matrix_sum(int** matrix, int width, int height);
 
int main(int argc, char** argv)
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251); // русский язык
    int** A;  //указатель на тип в С++ фактически начало массива
    int** B;  //указатель на указатель типа фактически двумерный массив
    int** C;  //поэтому А B C являются двумерными динамичкскими массивами
    int col;
    int row;
    int X[3];
    int i,j;
 
    cout<< "Введите Количество Строк массива А"<<endl ;
    cin>> row;
    A = new int*[row];   // Выделение памяти на указатели на тип int внутри которых
                         // row адресов на тип int
    cout<< "Введите Количество Cтолбцов массива А"<<endl ;
    cin>> col;
    for (i = 0; i < row; i++) {
      A[i] = new int[col];
      for (j = 0; j < col; j++) {
          cout<< "Введите " << i << " " << j << " элемент массива А " ;
          cin>> A[i][j];
      }
      cout<<endl;
    }
 
    for (i = 0; i < row; i++) {
        for (j = 0; j < col; j++) {
            cout << " " << A[i][j] << " ";
        }
    cout << endl;
    }
 
    X[0] = get_matrix_sum(A,col,row);
 
    cout<< "Введите Количество Строк массива B"<<endl ;
    cin>> row;
    B = new int*[row];
    cout<< "Введите Количество Cтолбцов массива B"<<endl ;
    cin>> col;
    for (i = 0; i < row; i++) {
      B[i] = new int[col];
      for (j = 0; j < col; j++) {
          cout<< "Введите " << i << " " << j << " элемент массива B " ;
          cin>> B[i][j];
      }
       cout<<endl;
    }
 
    for (i = 0; i < row; i++) {
        for (j = 0; j < col; j++) {
            cout << " " << B[i][j] << " ";
        }
    cout << endl;
    }
 
    X[1] = get_matrix_sum(B,col,row);
 
    cout<< "Введите Количество Строк массива C"<<endl ;
    cin>> row;
    C = new int*[row];
    cout<< "Введите Количество Cтолбцов массива C"<<endl ;
    cin>> col;
    for (i = 0; i < row; i++) {
      C[i] = new int[col];
      for (j = 0; j < col; j++) {
          cout<< "Введите " << i << " " << j << " элемент массива C ";
          cin>> C[i][j];
      }
       cout<<endl;
    }
 
    for (i = 0; i < row; i++) {
        for (j = 0; j < col; j++) {
            cout << " " << C[i][j] << " ";
        }
    cout << endl;
    }
 
    X[2] = get_matrix_sum(C,col,row);
 
    double b = X[0]*X[0]+X[1]*X[1]+X[2]*X[2];
    cout <<endl;
    for (i = 0 ; i < 3; i++) {
      cout<< " "<< X[i] << " ";
    }
    cout<< "Длина Вектора Х "<< pow(b,0.5)<<endl;
    system("pause");
    return 0;
}
Выходит ошибка при нажатии Ctrl+F7 (у меня Microsoft Visual C++):
--------------------Configuration: Cpp1 - Win32 Debug--------------------
Linking...
Cpp1.obj : error LNK2001: unresolved external symbol "int __cdecl get_matrix_sum(int * *,int,int)" (?get_matrix_sum@@YAHPAPAHHH@Z)
Debug/Cpp1.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.

Cpp1.exe - 2 error(s), 0 warning(s)

Помогите, люди, голова ломается (
Nixy
ComfyMobile
 Аватар для Nixy
399 / 280 / 8
Регистрация: 24.07.2012
Сообщений: 916
08.12.2012, 20:53     Работа с функциями #12
у вас при полном моем коде такая ошибка?
Миниатюры
Работа с функциями  
Gazovik7
1 / 1 / 0
Регистрация: 04.12.2012
Сообщений: 27
08.12.2012, 20:56  [ТС]     Работа с функциями #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
#include<iostream.h>
#include<math.h>
float sum(float**x,const int n,const int m );
int n,m,n1,m1,n2,m2;
int main(){
    int i,j;                                         
    float**a,**b,**c;
    double x1,x2,x3,p;
    cout<<"   n=";
    cin>>n;
    cout<<"   m=";
    cin>>m;
    cout<<"\n";
    a=new float*[n];
    for(i=0;i<n;i++)
        a[i]=new float[m];
    for(i=0;i<n;i++)
    for(j=0;j<m;j++)
    {   cout<<"   a["<<i<<"]["<<j<<"]=";
        cin>>a[i][j];}
     x1=sum(a,n,m);
     cout<<"x1="<<x1;
    cout<<"\n";
    cout<<"   n1=";
    cin>>n1;
    cout<<"   m1=";
    cin>>m1;
    b=new float*[n1];
    for(i=0;i<n1;i++)
        b[i]=new float[m1];
    for(i=0;i<n1;i++)
    for(j=0;j<m1;j++)
    {   cout<<"   b["<<i<<"]["<<j<<"]=";
        cin>>b[i][j];}
     x2=sum(b,n,m);
     cout<<"x2="<<x2;
    cout<<"\n";
    cout<<"   n2=";
    cin>>n2;
    cout<<"   m2=";
    cin>>m2;
    cout<<"\n";
    c=new float*[n2];
    for(i=0;i<n2;i++)
        c[i]=new float[m2];
    for(i=0;i<n2;i++)
    for(j=0;j<m2;j++)
    {   cout<<"   c["<<i<<"]["<<j<<"]=";
        cin>>c[i][j];}
    x3=sum(c,n,m);
     cout<<"x3="<<x3;
    cout<<"\n";
        
        p=sqrt(x1*x1+x2*x2+x3*x3);
        cout<<"p="<<p;
        cout<<"\n";
        return 0;}
float sum(float**x,const int n,const int m )
{ int i,j;
float s;
s=0;
for(i=0;i<n;i++)
for(j=0;j<m;j++)
s=s+x[i][j];
return s;}
Добавлено через 1 минуту
Цитата Сообщение от Nixy Посмотреть сообщение
у вас при полном моем коде такая ошибка?
При Ctrl+F7 ошибки нет, но при Ctrl+F5 выдаёт ошибку: (до этого опечатался: там не "Ctrl+F7", "Ctrl+F5")

--------------------Configuration: Cpp1 - Win32 Debug--------------------
Linking...
Cpp1.obj : error LNK2001: unresolved external symbol "int __cdecl get_matrix_sum(int * *,int,int)" (?get_matrix_sum@@YAHPAPAHHH@Z)
Debug/Cpp1.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.

Cpp1.exe - 2 error(s), 0 warning(s)
Nixy
ComfyMobile
 Аватар для Nixy
399 / 280 / 8
Регистрация: 24.07.2012
Сообщений: 916
08.12.2012, 20:58     Работа с функциями #14
ну у вас тоже работает, ну вот я кинул изображение работы программы, надеюсь в фйле с моим кодом кроме него ничего нет?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.12.2012, 21:10     Работа с функциями
Еще ссылки по теме:

Работа с функциями C++

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

Или воспользуйтесь поиском по форуму:
Gazovik7
1 / 1 / 0
Регистрация: 04.12.2012
Сообщений: 27
08.12.2012, 21:10  [ТС]     Работа с функциями #15
Цитата Сообщение от Gazovik7 Посмотреть сообщение
а если так:
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
#include<iostream.h>
#include<math.h>
float sum(float**x,const int n,const int m );
int n,m,n1,m1,n2,m2;
int main(){
    int i,j;                                         
    float**a,**b,**c;
    double x1,x2,x3,p;
    cout<<"   n=";
    cin>>n;
    cout<<"   m=";
    cin>>m;
    cout<<"\n";
    a=new float*[n];
    for(i=0;i<n;i++)
        a[i]=new float[m];
    for(i=0;i<n;i++)
    for(j=0;j<m;j++)
    {   cout<<"   a["<<i<<"]["<<j<<"]=";
        cin>>a[i][j];}
     x1=sum(a,n,m);
     cout<<"x1="<<x1;
    cout<<"\n";
    cout<<"   n1=";
    cin>>n1;
    cout<<"   m1=";
    cin>>m1;
    b=new float*[n1];
    for(i=0;i<n1;i++)
        b[i]=new float[m1];
    for(i=0;i<n1;i++)
    for(j=0;j<m1;j++)
    {   cout<<"   b["<<i<<"]["<<j<<"]=";
        cin>>b[i][j];}
     x2=sum(b,n,m);
     cout<<"x2="<<x2;
    cout<<"\n";
    cout<<"   n2=";
    cin>>n2;
    cout<<"   m2=";
    cin>>m2;
    cout<<"\n";
    c=new float*[n2];
    for(i=0;i<n2;i++)
        c[i]=new float[m2];
    for(i=0;i<n2;i++)
    for(j=0;j<m2;j++)
    {   cout<<"   c["<<i<<"]["<<j<<"]=";
        cin>>c[i][j];}
    x3=sum(c,n,m);
     cout<<"x3="<<x3;
    cout<<"\n";
        
        p=sqrt(x1*x1+x2*x2+x3*x3);
        cout<<"p="<<p;
        cout<<"\n";
        return 0;}
float sum(float**x,const int n,const int m )
{ int i,j;
float s;
s=0;
for(i=0;i<n;i++)
for(j=0;j<m;j++)
s=s+x[i][j];
return s;}
Добавлено через 1 минуту


При Ctrl+F7 ошибки нет, но при Ctrl+F5 выдаёт ошибку: (до этого опечатался: там не "Ctrl+F7", "Ctrl+F5")

--------------------Configuration: Cpp1 - Win32 Debug--------------------
Linking...
Cpp1.obj : error LNK2001: unresolved external symbol "int __cdecl get_matrix_sum(int * *,int,int)" (?get_matrix_sum@@YAHPAPAHHH@Z)
Debug/Cpp1.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.

Cpp1.exe - 2 error(s), 0 warning(s)
Я думаю, что ошибка выходит из-за того, что у меня программа "C:\Program Files\Microsoft Visual Studio\COMMON\MSDev98\Bin\MSDEV.exe", то есть Мicrosoft Visual C++.
Но если так, то как тогда подогнать под Microsoft Visual C++ ваш код?
По-моему, код с 65 строками верен.

Добавлено через 8 минут
ВО, получилось (ВВЁЛ ЧИСЛА, КАК У ВАС НА РИСУНКЕ, ОТВЕТ ВЫШЕЛ "6"):
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
#include<iostream.h>
#include<math.h>
double sum(double**x,const int n,const int m );
int n,m,n1,m1,n2,m2;
int main(){
    int i,j;                                         
    double**a,**b,**c;
    double x1,x2,x3,p;
    
    cout<<"   n=";
    cin>>n;
    cout<<"   m=";
    cin>>m;
    cout<<"\n";
    
    a=new double*[n];
    for(i=0;i<n;i++)
        a[i]=new double[m];
    for(i=0;i<n;i++)
    for(j=0;j<m;j++)
    {   cout<<"   a["<<i<<"]["<<j<<"]=";
        cin>>a[i][j];}
     x1=sum(a,n,m);
     cout<<"x1="<<x1;
    cout<<"\n";
    
    cout<<"   n1=";
    cin>>n1;
    cout<<"   m1=";
    cin>>m1;
    
    b=new double*[n1];
    for(i=0;i<n1;i++)
        b[i]=new double[m1];
    for(i=0;i<n1;i++)
    for(j=0;j<m1;j++)
    {   cout<<"   b["<<i<<"]["<<j<<"]=";
        cin>>b[i][j];}
     x2=(b,n1,m1);
     cout<<"x2="<<x2;
    cout<<"\n";
    
    cout<<"   n2=";
    cin>>n2;
    cout<<"   m2=";
    cin>>m2;
    cout<<"\n";
 
    c=new double*[n2];
    for(i=0;i<n2;i++)
        c[i]=new double[m2];
    for(i=0;i<n2;i++)
    for(j=0;j<m2;j++)
    {   cout<<"   c["<<i<<"]["<<j<<"]=";
        cin>>c[i][j];}
    cout<<"\n";
        x1=sum(a,n,m);
        x2=sum(b,n1,m1);
        x3=sum(c,n2,m2);
        cout<<" x1="<< x1<<" x2="<< x2 << " x3="<< x3;
        cout<<"\n";
        p=sqrt(x1*x1+x2*x2+x3*x3);
        cout<<"p="<<p;
        cout<<"\n";
        return 0;}
double sum(double**x,const int n,const int m )
{ int i,j;
double s;
s=0;
for(i=0;i<n;i++)
for(j=0;j<m;j++)
s=s+x[i][j];
return s;}
оба моих кода верны, хых, рад! наконец-то ) спасибо, что уделили мне ваше внимание и время!
Yandex
Объявления
08.12.2012, 21:10     Работа с функциями
Ответ Создать тему
Опции темы

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