Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.57/100: Рейтинг темы: голосов - 100, средняя оценка - 4.57
3 / 3 / 0
Регистрация: 01.06.2014
Сообщений: 130

Операции над матрицами-сложение, вычитание, умножение на число

01.06.2014, 12:12. Показов 21078. Ответов 54
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте,помогите пожалуйста по такой проблемке-в С++ надо создать матрицу и действия над ней..буду очень благодарен кто поможет.
1
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
01.06.2014, 12:12
Ответы с готовыми решениями:

Структуры: арифметические операции (сложение, вычитание, умножение, деление) над комплексными числами
Написать программу, реализующую арифметические операции (сложение, вычитание, умножение, деление), над комплексными числами. Использовать...

Организовать ввод двух вещественных чисел и операции над ними: сложение, вычитание, умножение и деление
Парни всем привет! Начинаю новую тему по решению задач Задача звучит так: Написать программу, которая запрашивает ввод двух...

Перегрузить такие операции: сложение, вычитание, умножение, деление, сравнение
Создать класс Angle для работы с углами на плоскости, задаваемыми величиной в градусах и минутах. Перегрузить такие операции: сложение,...

54
3 / 3 / 0
Регистрация: 01.06.2014
Сообщений: 130
05.06.2014, 11:58  [ТС]
Студворк — интернет-сервис помощи студентам
Необработанное исключение в "0x7556b727" в "matrix.exe": Исключение Microsoft C++: std::out_of_range по адресу 0x0049f924..

Добавлено через 1 минуту
да я тоже додумался но вылазит в консоли после ввода 3 цифры вот ошибка

Добавлено через 11 минут
Debug Error!

This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.
(Press Retry to debag the application)
0
3 / 3 / 0
Регистрация: 01.06.2014
Сообщений: 130
06.06.2014, 22:28  [ТС]
ребят ну помогите подправить пожалуйста.
0
17 / 17 / 6
Регистрация: 10.12.2013
Сообщений: 740
07.06.2014, 03:17
АЛЕКСЕЙ_92, Вот попробовал написать программу. Да раскритикуют меня профессионалы
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
#include <iostream>
#include <conio.h>
using namespace std;
 
int i,j,k,l;
 
void sum_matrix(int *a[], int *b[], int n, int m, int p, int r){
 
    for(i = 0;i < n;i++){
        for(j = 0;j < m;j++){
            for(k = 0;k < p;k++){
                for(l = 0;l < r;l++){
                    a[i][j] + b[k][l];
                }
            }
        }
    }
}
void sub_matrix(int *a[], int *b[], int n, int m, int p, int r){
    for(i = 0;i < n;i++){
        for(j = 0;j < m;j++){
            for(k = 0;k < p;k++){
                for(l = 0;l < r;l++){
                    a[i][j] - b[k][l];
                }
            }
        }
    }
}
void mult_matrix(int *a[], int n, int m, int q){
 
    for(i = 0;i < n;i++){
        for(j = 0;j < m;j++)
            q * a[i][j];
    }
}
int main()
{
    int n,m,p,r,q;
    cin >> n;
    cin >> m;
    cin >> p;
    cin >> r;
    cin >> q;
 
    int **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];
    }
        int **b = new int *[p];
        for(k = 0;k < p;k++)
            b[k] = new int[r];
        for(k = 0;k < n;k++){
            for(l = 0;l < r;l++)
                cin >> b[k][l];
        }
            sum_matrix(a, b, n, m, p, r);
            sub_matrix(a, b, n, m, p, r);
            mult_matrix(a, n, m, q);
 
            delete[]a;
            delete[]b;
 
            getch();
 
            return 0;
}
Только я не сделал вывод результатов на консоль. Я так понял, что нужно в каждой функции создать динамический массив и в него записывать получившиеся матрицы. Но не могу понять, как его правильно создать.
И да, в мою сторону сейчас пойдет критика по поводу глобальных переменных

Добавлено через 2 минуты
АЛЕКСЕЙ_92, Надеюсь, это то, что вам нужно.
1
3 / 3 / 0
Регистрация: 01.06.2014
Сообщений: 130
07.06.2014, 18:49  [ТС]
жаль но я тоже никак не знаю как сделать вывод результатов...
0
3 / 3 / 0
Регистрация: 01.06.2014
Сообщений: 130
09.06.2014, 08:14  [ТС]
здесь есть вообще кто живой?-не ужели никто не поможет разобраться в ошибках....
0
3 / 3 / 0
Регистрация: 01.06.2014
Сообщений: 130
10.06.2014, 13:23  [ТС]
ребят,ну помогите пожалуйста,ну никак не получается эта матрица,никак не пойму что где как...
0
17 / 17 / 6
Регистрация: 10.12.2013
Сообщений: 740
10.06.2014, 14:27
В общем, вопрос к профессионалам. Вот я написал вроде то, что нужно ТС, но выводит "Необработанное исключение" после ввода матриц а и b и нажатия Enter. Скажите, где я оплошался?
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
#include <iostream>
#include <conio.h>
using namespace std;
 
int i,j,k,l;
int n,m,q;
int s,t,x,y,w,z;
 
void sum_matrix(int *a[], int *b[], int *c[], int n, int m, int s, int t){
 
    for(i = 0;i < n;i++){
        for(j = 0;j < m;j++){
            for(k = 0;k < n;k++){
                for(l = 0;l < m;l++){
                    c[s][t] = a[i][j] + b[k][l];
                }
            }
        }
    }
}
void sub_matrix(int *a[], int *b[], int *d[], int n, int m, int x, int y){
    for(i = 0;i < n;i++){
        for(j = 0;j < m;j++){
            for(k = 0;k < n;k++){
                for(l = 0;l < m;l++){
                    d[x][y] = a[i][j] - b[k][l];
                }
            }
        }
    }
}
void mult_matrix(int *a[], int *e[], int n, int m, int q, int w, int z){
 
    for(i = 0;i < n;i++){
        for(j = 0;j < m;j++)
            e[w][z] = q * a[i][j];
    }
}
int main()
{
    cin >> n >> m;
    cin >> q;
 
    int **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];
    }
        int **b = new int *[n];
        for(k = 0;k < n;k++)
            b[k] = new int[m];
        for(k = 0;k < n;k++){
            for(l = 0;l < m;l++)
                cin >> b[k][l];
        }
        int **c = new int *[n];
        for(s = 0;s < n;s++)
            int *c = new int[m];
 
        int **d = new int *[n];
        for(x = 0;x < n;x++)
            int *d = new int[m];
 
        int **e = new int *[n];
        for(w = 0;w < n;w++)
            int *e = new int[m];
 
            sum_matrix(a, b, c, n, m, s, t);
            sub_matrix(a, b, d, n, m, x, y);
            mult_matrix(a, e, n, m, q, w, z);
 
            for(s = 0;s < n;s++){
                for(t = 0;t < m;t++)
                    cout << c[s][t] << " ";
                cout << "\n";
            }
            for(x = 0;x < n;x++){
                for(y = 0;y < m;y++)
                    cout << d[x][y] << " ";
                cout << "\n";
            }
            for(w = 0;w < n;w++){
                for(z = 0;z < m;z++)
                    cout << e[w][z] << " ";
                cout << "\n";
            }
 
            delete[]a;
            delete[]b;
            delete[]c;
            delete[]d;
            delete[]e;
 
            getch();
 
            return 0;
}
Добавлено через 8 минут
И да, я знаю, что будут замечания по поводу глобальных переменных. Я изначально объявлял их в функции main, но при компиляции мне выводит, что все переменные не инициализированы.
1
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38228 / 21160 / 4314
Регистрация: 12.02.2012
Сообщений: 34,773
Записей в блоге: 14
10.06.2014, 16:48
Очень наверчено... Вот:

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
#include <iostream.h>
 
void sum_matrix(int *a[], int *b[], int *c[], int n, int m)
{
    int i,j;
 
    for(i = 0;i < n;i++)
        for(j = 0;j < m;j++)
            c[i][j]=a[i][j]+b[i][j];
}
void sub_matrix(int *a[], int *b[], int *c[], int n, int m)
{
    int i,j;
 
    for(i = 0;i < n;i++)
        for(j = 0;j < m;j++)
            c[i][j]=a[i][j]-b[i][j];
}
void mult_matrix(int *a[], int *e[],int q, int n, int m)
{
    int i,j; 
    for(i = 0;i < n;i++)
        for(j = 0;j < m;j++)
            e[i][j] = q * a[i][j];
    
}
int main()
{
    int i,j,n,m,q;
 
    cin >> n >> m;
    cin >> q;
 
    int **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];
    }
        int **b = new int *[n];
        for(i = 0;i < n;i++)
            b[i] = new int[m];
        for(i = 0;i < n;i++){
            for(j = 0;j < m;j++)
                cin >> b[i][j];
        }
        int **c = new int *[n];
        for(i = 0;i < n;i++)
            int *c = new int[m];
 
        int **d = new int *[n];
        for(i = 0;i < n;i++)
            int *d = new int[m];
 
        int **e = new int *[n];
        for(i = 0;i < n;i++)
            int *e = new int[m];
 
            sum_matrix(a, b, c, n, m);
            sub_matrix(a, b, d, n, m);
            mult_matrix(a, e,q, n, m);
 
            for(i = 0;i < n;i++){
                for(j = 0;j < m;j++)
                    cout << c[i][j] << " ";
                cout << "\n";
            }
            for(i = 0;i < n;i++){
                for(j = 0;j < m;j++)
                    cout << d[i][j] << " ";
                cout << "\n";
            }
            for(i = 0;i < n;i++){
                for(j = 0;j < m;j++)
                    cout << e[i][j] << " ";
                cout << "\n";
            }
 
            delete[]a;
            delete[]b;
            delete[]c;
            delete[]d;
            delete[]e;
 
            return 0;
}
0
17 / 17 / 6
Регистрация: 10.12.2013
Сообщений: 740
10.06.2014, 17:10
Catstail, Вы забыли в функции вычитания поменять массив с на d Ну радует хоть то, что я почти верно прогу написал и кому то помог. Это моя первая помощь на форуме
АЛЕКСЕЙ_92, Вот окончательная программа.
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
#include <iostream.h>
using namespace std;
 
void sum_matrix(int *a[], int *b[], int *c[], int n, int m)
{
    int i,j;
 
    for(i = 0;i < n;i++)
        for(j = 0;j < m;j++)
            c[i][j]=a[i][j]+b[i][j];
}
void sub_matrix(int *a[], int *b[], int *c[], int n, int m)
{
    int i,j;
 
    for(i = 0;i < n;i++)
        for(j = 0;j < m;j++)
            d[i][j]=a[i][j]-b[i][j];
}
void mult_matrix(int *a[], int *e[],int q, int n, int m)
{
    int i,j; 
    for(i = 0;i < n;i++)
        for(j = 0;j < m;j++)
            e[i][j] = q * a[i][j];
    
}
int main()
{
    int i,j,n,m,q;
 
    cin >> n >> m;
    cin >> q;
 
    int **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];
    }
        int **b = new int *[n];
        for(i = 0;i < n;i++)
            b[i] = new int[m];
        for(i = 0;i < n;i++){
            for(j = 0;j < m;j++)
                cin >> b[i][j];
        }
        int **c = new int *[n];
        for(i = 0;i < n;i++)
            int *c = new int[m];
 
        int **d = new int *[n];
        for(i = 0;i < n;i++)
            int *d = new int[m];
 
        int **e = new int *[n];
        for(i = 0;i < n;i++)
            int *e = new int[m];
 
            sum_matrix(a, b, c, n, m);
            sub_matrix(a, b, d, n, m);
            mult_matrix(a, e,q, n, m);
 
            for(i = 0;i < n;i++){
                for(j = 0;j < m;j++)
                    cout << c[i][j] << " ";
                cout << "\n";
            }
            for(i = 0;i < n;i++){
                for(j = 0;j < m;j++)
                    cout << d[i][j] << " ";
                cout << "\n";
            }
            for(i = 0;i < n;i++){
                for(j = 0;j < m;j++)
                    cout << e[i][j] << " ";
                cout << "\n";
            }
 
            delete[]a;
            delete[]b;
            delete[]c;
            delete[]d;
            delete[]e;
 
            return 0;
}
0
3 / 3 / 0
Регистрация: 01.06.2014
Сообщений: 130
10.06.2014, 17:10  [ТС]
1>matrix.cpp
1>c:\users\user\desktop\matrix\matrix.cp p(1) : warning C4627: #include <iostream.h>: пропущен при поиске использования предкомпилированного заголовка
1> Добавление директивы в "stdafx.h" или перестройка предкомпилированного заголовка
1>c:\users\user\desktop\matrix\matrix.cp p(88) : fatal error C1010: непредвиденный конец файла во время поиска предкомпилированного заголовка. Возможно, вы забыли добавить директиву "#include "stdafx.h"" в источник.
1>Журнал построения был сохранен в "file://c:\Users\user\Desktop\matrix\Debug\Build Log.htm"
1>matrix - ошибок 1, предупреждений 1
========== Перестроение всех: успешно: 0, с ошибками: 1, пропущено: 0 ==========
вот что выходит а stdafx.h добавляешь вообще больше 11 ошибок с необъявленным индетификатором...может я что не так делаю
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38228 / 21160 / 4314
Регистрация: 12.02.2012
Сообщений: 34,773
Записей в блоге: 14
10.06.2014, 17:15
У меня в VC++ 6.0 все транслируется без ошибок

Добавлено через 54 секунды
Цитата Сообщение от АЛЕКСЕЙ_92 Посмотреть сообщение
Возможно, вы забыли добавить директиву "#include "stdafx.h"" в источник.
- а ее никогда в форум не выкладываю. Разные среды бывают. Для VC она нужна
0
3 / 3 / 0
Регистрация: 01.06.2014
Сообщений: 130
10.06.2014, 17:17  [ТС]
значит мне лучше скачать VS 2006?? чем искать кто поможет в VS 2008??
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38228 / 21160 / 4314
Регистрация: 12.02.2012
Сообщений: 34,773
Записей в блоге: 14
10.06.2014, 17:26
Вот окончательный вариант. Немного облагородил и исправил еще три ошибки:

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
#include "stdafx.h"
#include <iostream.h>
 
void sum_matrix(int *a[], int *b[], int *c[], int n, int m)
{
    int i,j;
 
    for(i = 0;i < n;i++)
        for(j = 0;j < m;j++)
            c[i][j]=a[i][j]+b[i][j];
}
void sub_matrix(int *a[], int *b[], int *c[], int n, int m)
{
    int i,j;
 
    for(i = 0;i < n;i++)
        for(j = 0;j < m;j++)
            c[i][j]=a[i][j]-b[i][j];
}
void mult_matrix(int *a[], int *e[],int q, int n, int m)
{
    int i,j; 
    for(i = 0;i < n;i++)
        for(j = 0;j < m;j++)
            e[i][j] = q * a[i][j];
    
}
int main()
{
    int i,j,n,m,q;
 
    cout << "n=";
    cin >> n;
    
    cout << "m=";
    cin >> m;
 
    cout << "q=";
    cin >> q;
 
    int **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++)
        {
            cout << "a[" << i <<"," << j << "]=";
            cin >> a[i][j];
        }
    
    int **b = new int *[n];
    for(i = 0;i < n;i++)
       b[i] = new int[m];
 
    for(i = 0;i < n;i++)
        for(j = 0;j < m;j++)
        {
            cout << "b[" << i <<"," << j << "]=";
            cin >> b[i][j];
        }
        
    int **c = new int *[n];
    for(i = 0;i < n;i++)
       c[i] = new int[m];
 
    int **d = new int *[n];
    for(i = 0;i < n;i++)
       d[i] = new int[m];
 
    int **e = new int *[n];
    for(i = 0;i < n;i++)
       e[i] = new int[m];
 
    sum_matrix (a, b, c, n, m);
    sub_matrix (a, b, d, n, m);
    mult_matrix(a, e, q, n, m);
 
    for(i = 0;i < n;i++)
    {
       for(j = 0;j < m;j++)
          cout << c[i][j] << " ";
       cout << "\n";
    }
    for(i = 0;i < n;i++)
    {
       for(j = 0;j < m;j++)
          cout << d[i][j] << " ";
       cout << "\n";
    }
    for(i = 0;i < n;i++)
    {
       for(j = 0;j < m;j++)
          cout << e[i][j] << " ";
       cout << "\n";
    }
 
    delete[]a;
    delete[]b;
    delete[]c;
    delete[]d;
    delete[]e;
 
    return 0;
}
0
17 / 17 / 6
Регистрация: 10.12.2013
Сообщений: 740
10.06.2014, 17:52
Catstail, Да почему
C++
1
c[i][j]=a[i][j]-b[i][j];
если
C++
1
d[i][j]=a[i][j]-b[i][j];
?

Добавлено через 11 минут
АЛЕКСЕЙ_92, Вот
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
#include <iostream>
using namespace std;
 
void sum_matrix(int *a[], int *b[], int *c[], int n, int m)
{
    int i,j;
 
    for(i = 0;i < n;i++)
        for(j = 0;j < m;j++)
            c[i][j]=a[i][j]+b[i][j];
}
void sub_matrix(int *a[], int *b[], int *d[], int n, int m)
{
    int i,j;
 
    for(i = 0;i < n;i++)
        for(j = 0;j < m;j++)
            d[i][j]=a[i][j]-b[i][j];
}
void mult_matrix(int *a[], int *e[],int q, int n, int m)
{
    int i,j; 
    for(i = 0;i < n;i++)
        for(j = 0;j < m;j++)
            e[i][j] = q * a[i][j];
    
}
int main()
{
    int i,j,n,m,q;
 
    cin >> n >> m;
    cin >> q;
 
    int **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];
    }
        int **b = new int *[n];
        for(i = 0;i < n;i++)
            b[i] = new int[m];
        for(i = 0;i < n;i++){
            for(j = 0;j < m;j++)
                cin >> b[i][j];
        }
        int **c = new int *[n];
        for(i = 0;i < n;i++)
            int *c = new int[m];
 
        int **d = new int *[n];
        for(i = 0;i < n;i++)
            int *d = new int[m];
 
        int **e = new int *[n];
        for(i = 0;i < n;i++)
            int *e = new int[m];
 
            sum_matrix(a, b, c, n, m);
            sub_matrix(a, b, d, n, m);
            mult_matrix(a, e,q, n, m);
 
            for(i = 0;i < n;i++){
                for(j = 0;j < m;j++)
                    cout << c[i][j] << " ";
                cout << "\n";
            }
            for(i = 0;i < n;i++){
                for(j = 0;j < m;j++)
                    cout << d[i][j] << " ";
                cout << "\n";
            }
            for(i = 0;i < n;i++){
                for(j = 0;j < m;j++)
                    cout << e[i][j] << " ";
                cout << "\n";
            }
 
            delete[]a;
            delete[]b;
            delete[]c;
            delete[]d;
            delete[]e;
 
            return 0;
}
И вам нужно зайти в Свойства проекта --> С/С++ --> Предварительно откомпилированные заголовки --> Не использовать предварительно откомпилированные заголовки.

Добавлено через 4 минуты
Catstail, Но все же. Я запускаю эту программу у себя(MVC 2010)
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
#include <iostream>
using namespace std;
 
void sum_matrix(int *a[], int *b[], int *c[], int n, int m)
{
    int i,j;
 
    for(i = 0;i < n;i++)
        for(j = 0;j < m;j++)
            c[i][j]=a[i][j]+b[i][j];
}
void sub_matrix(int *a[], int *b[], int *d[], int n, int m)
{
    int i,j;
 
    for(i = 0;i < n;i++)
        for(j = 0;j < m;j++)
            d[i][j]=a[i][j]-b[i][j];
}
void mult_matrix(int *a[], int *e[],int q, int n, int m)
{
    int i,j; 
    for(i = 0;i < n;i++)
        for(j = 0;j < m;j++)
            e[i][j] = q * a[i][j];
    
}
int main()
{
    int i,j,n,m,q;
 
    cin >> n >> m;
    cin >> q;
 
    int **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];
    }
        int **b = new int *[n];
        for(i = 0;i < n;i++)
            b[i] = new int[m];
        for(i = 0;i < n;i++){
            for(j = 0;j < m;j++)
                cin >> b[i][j];
        }
        int **c = new int *[n];
        for(i = 0;i < n;i++)
            int *c = new int[m];
 
        int **d = new int *[n];
        for(i = 0;i < n;i++)
            int *d = new int[m];
 
        int **e = new int *[n];
        for(i = 0;i < n;i++)
            int *e = new int[m];
 
            sum_matrix(a, b, c, n, m);
            sub_matrix(a, b, d, n, m);
            mult_matrix(a, e,q, n, m);
 
            for(i = 0;i < n;i++){
                for(j = 0;j < m;j++)
                    cout << c[i][j] << " ";
                cout << "\n";
            }
            for(i = 0;i < n;i++){
                for(j = 0;j < m;j++)
                    cout << d[i][j] << " ";
                cout << "\n";
            }
            for(i = 0;i < n;i++){
                for(j = 0;j < m;j++)
                    cout << e[i][j] << " ";
                cout << "\n";
            }
 
            delete[]a;
            delete[]b;
            delete[]c;
            delete[]d;
            delete[]e;
 
            return 0;
}
И мне выдает "Необработанное исключение". В чем причина?
0
3 / 3 / 0
Регистрация: 01.06.2014
Сообщений: 130
10.06.2014, 18:09  [ТС]
Sh@dow777 так мне на чем твою программу запускать??и на какой версии?
0
17 / 17 / 6
Регистрация: 10.12.2013
Сообщений: 740
10.06.2014, 18:13
АЛЕКСЕЙ_92, На Visual Studio. Где еще?
0
3 / 3 / 0
Регистрация: 01.06.2014
Сообщений: 130
10.06.2014, 18:18  [ТС]
вот что выходит после набора 9 чисел и нажатия Enter
Необработанное исключение в "0x0124155c" в "matrix.exe": 0xC0000005: Нарушение прав доступа при записи "0xcdcdcdcd".
0
17 / 17 / 6
Регистрация: 10.12.2013
Сообщений: 740
10.06.2014, 18:21
АЛЕКСЕЙ_92, Вот у меня тоже самое. Я спросил у Catstail, но он молчит. У него программа работает.
0
3 / 3 / 0
Регистрация: 01.06.2014
Сообщений: 130
10.06.2014, 18:30  [ТС]
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
#include <iostream>
using namespace std;
void sum_matrix(int *a[], int *b[], int *c[], int n, int m)
{
    int i,j;
 
    for(i = 0;i < n;i++)
        for(j = 0;j < m;j++)
            c[i][j]=a[i][j]+b[i][j];
}
void sub_matrix(int *a[], int *b[], int *c[], int n, int m)
{
    int i,j;
 
    for(i = 0;i < n;i++)
        for(j = 0;j < m;j++)
            c[i][j]=a[i][j]-b[i][j];
}
void mult_matrix(int *a[], int *e[],int q, int n, int m)
{
    int i,j; 
    for(i = 0;i < n;i++)
        for(j = 0;j < m;j++)
            e[i][j] = q * a[i][j];
    
}
int main()
{
    int i,j,n,m,q;
 
    cout << "n=";
    cin >> n;
    
    cout << "m=";
    cin >> m;
 
    cout << "q=";
    cin >> q;
 
    int **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++)
        {
            cout << "a[" << i <<"," << j << "]=";
            cin >> a[i][j];
        }
    
    int **b = new int *[n];
    for(i = 0;i < n;i++)
       b[i] = new int[m];
 
    for(i = 0;i < n;i++)
        for(j = 0;j < m;j++)
        {
            cout << "b[" << i <<"," << j << "]=";
            cin >> b[i][j];
        }
        
    int **c = new int *[n];
    for(i = 0;i < n;i++)
       c[i] = new int[m];
 
    int **d = new int *[n];
    for(i = 0;i < n;i++)
       d[i] = new int[m];
 
    int **e = new int *[n];
    for(i = 0;i < n;i++)
       e[i] = new int[m];
 
    sum_matrix (a, b, c, n, m);
    sub_matrix (a, b, d, n, m);
    mult_matrix(a, e, q, n, m);
 
    for(i = 0;i < n;i++)
    {
       for(j = 0;j < m;j++)
          cout << c[i][j] << " ";
       cout << "\n";
    }
    for(i = 0;i < n;i++)
    {
       for(j = 0;j < m;j++)
          cout << d[i][j] << " ";
       cout << "\n";
    }
    for(i = 0;i < n;i++)
    {
       for(j = 0;j < m;j++)
          cout << e[i][j] << " ";
       cout << "\n";
    }
 
    delete[]a;
    delete[]b;
    delete[]c;
    delete[]d;
    delete[]e;
 
    return 0;
}
Добавлено через 1 минуту
вот наконец то получилось с вашей помощью-огромное спасибо за помощь!!!))
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38228 / 21160 / 4314
Регистрация: 12.02.2012
Сообщений: 34,773
Записей в блоге: 14
11.06.2014, 08:49
Цитата Сообщение от АЛЕКСЕЙ_92 Посмотреть сообщение
вот наконец то получилось с вашей помощью-огромное спасибо за помощь!!!))
- очень похоже на мой код... Нет?

Добавлено через 3 минуты
Цитата Сообщение от Sh@dow777 Посмотреть сообщение
Да почему
- какя разница, как называть формальные параметры функций?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.06.2014, 08:49

Операции с комплексными числами. Проконсультируйте. (аргумент, модуль, сложение, умножение, вычитание)
здравствуйте. Эта программа рабочая, работает для аргумента, сложения, вычитания, умножения, модуля комплексных чисел. Проверьте её...

Нужны советы как реализовать сложение, вычитание, умножение полиномов/многочленов и деление на число
Всем здравствуйте! надеюсь написать с вашей помощью программку для сложения, вычитания и умножения полиномов, а также деления на число....

Сложение, вычитание, умножение
Доброго времени суток! Помогите с задачей: Написать функцию, которая складывает, вычитает или умножает два целых числа и возвращает...

Нестандартное сложение, вычитание, умножение и деление
Что-то на форуме скучно, давайте устроим небольшой интерактивчик, придумываем самые нестандартные способы сложения, вычитания, умножения и...

Сложение и вычитание, умножение и деление, сравнение сумм
Уважаемые форумчане! помогите, пожалуйста, нужно написать программу для работы с устаревшей денежной системой Великобритании. В ней...


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Особенности gif сгенерированных в Си
russiannick 21.10.2026
Рассмотрим генерацию gif файлов, которые в Си имеют свои особенности. Gif представляет собой графический формат популярный в интернете. Посмотрим на палитру. Gif файл сгенерированный в си отличается. . .
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/ TL DR Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru