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

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

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

Реализовать класс матрицы в ООП(есть код, но выдает ошибку) - C++

11.11.2016, 17:56. Просмотров 185. Ответов 1
Метки нет (Все метки)

В задании нужно постpоить класс для pаботы с квадратными матрицами. Класс должен включать соответствующие поля: порядок, набор коэффициентов. Класс должен обеспечивать пpостейшие функции для pаботы с данными класса: транспонирование матрицы, расчет определителя, вывод матрицы в удобной форме и т.д.
Код есть, но он не работает. Помогите, пожалуйста! Еще нужно добавить статический члены, чтобы они перегружались.

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
#pragma once
class Matrix
{
    double **a;
    int m, n;
 
public:
    Matrix(int m, int n);
    
    Matrix(const Matrix&x);
 
    ~Matrix();
 
 
    void T();
    double determinant();
    void show();
};
 
 
 
#include "stdafx.h"
#include "Matrix.h"
#include <stdlib.h>
#include <time.h>
#include <iostream>
#include <iomanip>
using namespace std;
 
 
 
Matrix::Matrix(int m=3, int n=3)
{
    
    a = new double *[m];
    for (int j = 0; j<m; j++)
    {
        a[j] = new double[n];
        for (int i = 0; i<n; i++)
            a[j][i] = 0;
    }
    
}
 
 
Matrix::Matrix(const Matrix&x)
{
 
    m = x.m;
    n = x.n;
    for (int i = 0; i<x.m; i++)
        for (int j = 0; j<x.n; j++)
            a[i][j] = x.a[i][j]; 
    n = x.n;
    
 
}
 
 
Matrix::~Matrix()
{
    for (int i = 0; i < m; i++)
        for(int j = 0; j < n; j++)
        delete[] a[i];
       delete[] a;
}
 
void Matrix::T()
{
    Matrix temp(n);
    for (int i = 0; i < n; i++)
        for (int j = 0; j < n; j++)
            temp.a[j][i] = a[i][j];
    return;
    cout << "T";
}
double Matrix::determinant()
{
    unsigned int m = n;
    if (m == 0) return 0;
    if (m == 1) return a[0][0];
    if (m == 2) return (a[0][0] * a[1][1] - a[1][0] * a[0][1]);
    bool sign = false; // смена знака определителя. по умолчанию - нет
    double det = 1; // определитель
    double tmp;
    cout << "determinat";
}
void Matrix::show()
{
    for (int i = 0; i<n; i++)
    {
        for (int j = 0; j<n; j++)
        {
            cout << a[i][j] << setw(3);
            
 
 
        }
        cout << "\n";
 
        
    }
 
}
 
 
 
#include "stdafx.h"
#include <iostream>
#include "Matrix.h"
#include <locale>
using namespace std;
 
 
int main()
{
    setlocale(LC_ALL, "Russian");
  const int n = 3;
  const int m = 3;
    double **a = new double *[m,n];
    Matrix x(m,n);
    cout << "Данная матрица: " << endl;
    x.show();
    x.T();
    cout << "Транспонированная матрица: " << endl;
    x.show();
    cout << endl << "Определитель: " << endl;
    cout << x.determinant() << endl;
    system("pause");
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.11.2016, 17:56
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Реализовать класс матрицы в ООП(есть код, но выдает ошибку) (C++):

нужно реализовать код, выдает ошибку - C++
помогите реализовать код, выдает ошибку Label3-&gt;Caption=strftime(&quot;int %B&quot;);

[ООП] Кто фиксанет ошибку? Ошибка в "обратке исключений". КОД ЕСТЬ! - C++
Собирал проект в последней версии Visual Studio. Что ему не нравится? Возможно не правильно сделал перегрузку оператора &quot; = &quot; в Class...

Класс - выдает ошибку - C++
прога по идее верная но компилятор выдает ошибку //--------------------------------------------------------------------------- ...

Код выдает ошибку! - C++
Помогите исправить так чтобы время записывалось в файл, у меня выдает ошибку! Ругается на localtime #include &quot;stdafx.h&quot; #include...

Выдает ошибку,тут что не так? Простейший класс - C++
#include&lt;conio.h&gt; #include&lt;io.h&gt; #include&lt;string.h&gt; #include&lt;iostream.h&gt; #include&lt;math.h&gt; ...

Создать класс Triad (тройка чисел). Выдает ошибку - C++
задание звучит так: создать класс Triad (тройка чисел); определить методы изменения полей и вычисления суммы чисел. Определить производный...

1
nmcf
5756 / 5067 / 1734
Регистрация: 14.04.2014
Сообщений: 20,749
11.11.2016, 18:26 #2
Конструктор копирования должен выделять память.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.11.2016, 18:26
Привет! Вот еще темы с ответами:

Матричный код выдает ошибку - C++
Программа должна выводить минимум и элементы массива вводятся с клавиатуры, но у меня небольшая проблемка подредактируйте код пожалуйста ...

Простой код но выдает ошибку - C++
Почему у меня не видет вторую переменную day #include &lt;math.h&gt; #include &lt;iostream&gt; using namespace std; void main() { int...

Код выдает ошибку Access violation writing location - C++
#include&lt;stdio.h&gt; #include&lt;string.h&gt; #include&lt;locale.h&gt; int main() { setlocale(LC_CTYPE, &quot;Russian&quot;); int i, j; char A, k,...

Visual Studio. С++. ООП. Как исправить ошибку, возникающую при попытке запустить код? - C++
1) “Возникли ошибки сборки. Продолжить и запустить последний успешно построенный вариант? ” 2) Ещё возникают ошибки LNK2005. 3)...


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

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

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