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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
Виктория_
46 / 1 / 0
Регистрация: 12.12.2011
Сообщений: 27
#1

"Квадратная матрица" Matrix - C++

17.03.2012, 22:30. Просмотров 1139. Ответов 10
Метки нет (Все метки)

Определить класс "Квадратная матрица" - Matrix. Класс должен содержать несколько конструкторов, в том числе конструктор копирования. Реализовать методы для сложения, вычитания, умножения матриц, вычисления нормы матрицы. Перегрузить опрерации сложения, вычитания, умножения и присваивания для данного класса.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.03.2012, 22:30
Здравствуйте! Я подобрал для вас темы с ответами на вопрос "Квадратная матрица" Matrix (C++):

Необработанное исключение в "0x104b2288" в "Matrix.exe": 0xC0000005: Нарушение прав доступа при записи "0xcdcd - C++
Вот такая ошибка!

является ли введенная с клавиатуры квадратная матрица "магическим" квадратом - C++
Написать программу, которая проверяет, является ли введенная с клавиатуры квадратная матр "магическим" квадратом. "Магическим" квадратом...

Проверить является ли квадратная матрица " магическим квадратом" - C++
Дан двумерный массив размером n х n , заполненный целыми числами. Выяснить, является ли массив магическим квадратом. В магическом квадрате...

Проверить, является ли введенная с клавиатуры квадратная матрица "Магическим квадратом" - C++
Написать программу, которая проверяет, является ли введенная с клавиатуры квадратная матрица "магическим" квадратом. ...

Проверить, является ли введенная с клавиатуры квадратная матрица "магическим" квадратом - C++
Написать программу, которая проверяет, является ли введенная с клавиатуры квадратная матрица "магическим" квадратом. "Магическим" квадратом...

Шаблоны С++. Класс "Квадратная матрица" - C++
Здравствуйте, уважаемые программисты. Искренне прощу вашей помощи в решении данной задачи. Условие задачи: Реализовать в виде модуля...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Nameless One
Эксперт С++
5773 / 3424 / 255
Регистрация: 08.02.2010
Сообщений: 7,447
18.03.2012, 05:05 #2
Определить класс «Квадратная матрица» – Matrix.
0
-=ЮрА=-
Заблокирован
Автор FAQ
18.03.2012, 11:05 #3
Виктория_, по ссылке готовый код класса Матрица + как бонус уже код готового приожения с использованием данного класса
http://www.cyberforum.ru/faq/thread4...ml#post2472557
0
Виктория_
46 / 1 / 0
Регистрация: 12.12.2011
Сообщений: 27
18.03.2012, 14:17  [ТС] #4
А есть более простой вариант кода Определить класс «Квадратная матрица» – Matrix.
0
Виктория_
46 / 1 / 0
Регистрация: 12.12.2011
Сообщений: 27
23.03.2012, 00:18  [ТС] #5
Ауу, люди. Кто-нибудь из вас знает, как реализовать эту задачу без STL, напишите пожалуйста.
0
-=ЮрА=-
24.03.2012, 10:41
  #6

Не по теме:

Цитата Сообщение от Виктория_ Посмотреть сообщение
Ауу, люди. Кто-нибудь из вас знает, как реализовать эту задачу без STL, напишите пожалуйста.
- я вам ссылку привёл с рабочим кодом класса матрица на Си, класс "умеет" даже вычислять детерминант а вы кричите тут "помогите". Не помогают потому, что уже дали 2 исчерпывающие ссылки, а вам скорее всего просто лень в них поразбираться
Я даже угадаю, что в моём, что в Nameless One постах - увидели много кода и перая мысль : "Ооо сколько много, та не это не для меня"....А мысли не было, что класс матрица сам по себе требует определённого объёма???

0
Вася1q
21 / 21 / 0
Регистрация: 13.09.2011
Сообщений: 311
24.03.2012, 11:10 #7
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
132
133
134
135
136
137
138
139
#include <iostream>
using namespace std;
// ГЉГ«Г*Г±Г± Г¬Г*òðèöГ*
class Matrix
{
private:// ÑîáñòâåГ*Г*ûå ýëåìåГ*ГІГ»:
        int aMas [10][10];//âûäåëåГ*ГЁГї ГЇГ*ìÿòè ïîä Г¬Г*Г±Г±ГЁГў
        int bMas [10][10];
        int cMas [10][10];
        static int size; // Ïîðÿäîê Г¬Г*òðèöû
public:// ÎáùåäîñòóïГ*ûå ýëåìåГ*ГІГ»:
    Matrix(){}// ГЉГ®Г*ñòðóêòîð ГЇГ® óìîë÷Г*Г*ГЁГѕ
    void Vvod();
    void Vivod();
    void Na_4islo();
    Matrix operator+ (const Matrix&);// ÑëîæåГ*ГЁГҐ Г¬Г*òðèö
    Matrix operator- (const Matrix&); //Âû÷èòГ*Г*ГЁГҐ Г¬Г*òðèö
    Matrix operator* (const Matrix&);// ÏåðåìГ*îæåГ*ГЁГҐ Г¬Г*òðèö
};
int  Matrix::size = 3;//Г°Г*çìåð Г¬Г*òðèöû
void Matrix::Vvod() 
{
        for(int i = 0;i<size;i++)
        {
         for(int j = 0;j<size;j++)
          {
           cin>>aMas[i][j];         
          }
         cout<<endl;
        }         
}
 
void Matrix::Vivod() 
{
        for (int i = 0; i <size; i++)
        {
          for (int j = 0; j <size; j++)
          {
           cout<<aMas[i][j]<<" ";
          }
         cout<<endl;  
        }
}
 
void Matrix::Na_4islo() 
{
        int chislo;
        cout<<"Ââåäèòå Г*îâóþ Г¬Г*òðèöó: \n";
        for(int i = 0;i<size;i++)
        {
         for(int j = 0;j<size;j++)
          {
           cin>>cMas[i][j];         
          }
         cout<<endl;
        }
        cout<<"Ââåäèòå ÷èñëî Г*Г* êîòîðîå õîòèòå ГіГ¬Г*îæèòü ïåðâóþ Г¬Г*òðèöó: \n";
        cin>>chislo;
        cout << "ÏðîèçâåäåГ*ГЁГҐ Г¬Г*òðèöû Г*Г* ÷èñëî: \n";
        for (int i = 0; i <size; i++)
        {
          for (int j = 0; j <size; j++)
          {
           cMas[i][j]=cMas[i][j]*chislo;//ГЄГ*æäûé ГЅГ«-Г*ГІ ïåðâîé Г¬Г*òðèöû ГіГ¬Г*îæГ*Гѕ Г*Г* ÷èñëî ââåäåГ*Г*îé Г± ГЄГ«Г*ГўГЁГ*òóðû
           cout<<cMas[i][j]<<" ";
          }
         cout<<endl;  
        }
}
// ÏåðåãðóçêГ* îïåðГ*òîðГ* + 
Matrix Matrix::operator+(const Matrix &n)
{
    Matrix result(*this);
      for (int i = 0; i <size; i++)
      {
        for (int j = 0; j <size; j++)
        {
            result.aMas[i][j] = aMas[i][j] + n.aMas[i][j];
        }
      }
    return result;
}
// ÏåðåãðóçêГ* îïåðГ*òîðГ* -
Matrix Matrix::operator-(const Matrix &n)
{
    Matrix result(*this);
 
    for (int i = 0; i <size; i++)
     {
        for (int j = 0; j <size; j++)
        {
            result.aMas[i][j] = aMas[i][j] - n.aMas[i][j];
        }
     }
    return result;
}
// ÏåðåãðóçêГ* îïåðГ*òîðГ* *
Matrix Matrix::operator*(const Matrix &n)
{
    int sum;
    Matrix result(n);
    for (int i = 0; i <size; i++)
     {
        for (int j = 0; j <size; j++)
         {
            sum = 0;
            for(int k =0;k <size; k++)
            {
             sum+=aMas[i][k] * n.aMas[k][j];
             result.aMas[i][j]=sum;
            }
         }
     }
    return result;
}
int main ()
{
    int chislo; 
    Matrix m, m2,m3,m4,m5,m6,m7;
    cout << "Ââåäèòå ïåðâóþ: \n";
    m.Vvod();
    cout << "Âû ââåëè Г¬Г*òðèöó: \n";
    m.Vivod();
    cout << "Ââåäèòå âòîðóþ Г¬Г*òðèöó: \n";
    m2.Vvod();
    cout << "Âû ââåëè Г¬Г*òðèöó: \n";
    m2.Vivod();
    cout << "ÑóììГ* ïåðâîé ГЁ âòîðîé Г¬Г*òðèöû: \n";
    m3 = m + m2;
    m3.Vivod();
    cout << "ГђГ*Г§Г*îñòü Г¬Г*òðèö: \n";
    m4 = m - m2;
    m4.Vivod();
    cout << "ÏðîèçâåäåГ*ГЁГҐ Г¬Г*òðèö: \n";
    m5 = m * m2;
    m5.Vivod();
    m6.Na_4islo();
    system("pause");
}
1
go
Эксперт C++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
24.03.2012, 11:27 #8
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
- я вам ссылку привёл с рабочим кодом класса матрица на Си,
Шикарно. Уже в Си классы появились.
0
-=ЮрА=-
24.03.2012, 12:03
  #9

Не по теме:

go, замени класс на struct и убери конструктор

0
go
Эксперт C++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
24.03.2012, 12:07 #10
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
go, замени класс на struct и убери конструктор
Как будто это мне нужно. Я указал, чтобы новичка какого-нибудь Вы в заблуждение не ввели.
0
-=ЮрА=-
24.03.2012, 12:29     "Квадратная матрица" Matrix
  #11

Не по теме:

Цитата Сообщение от go Посмотреть сообщение
Я указал, чтобы новичка какого-нибудь Вы в заблуждение не ввели.
- мне надо было создать код который с минимальными изменениями можно приспособить как в Си так и С++

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.03.2012, 12:29
Привет! Вот еще темы с ответами:

Разработать класс "Квадратная матрица"; создать массив матриц и найти в нём матрицу, удовлетворяющую условию - C++
Доброго времени суток!Нужно разработать класс матриц размера 3x3.Переопределить операции сложения, вычитания матриц, прибавления к каждому...

Определить класс «Квадратная матрица» – Matrix. - C++
Определить класс «Квадратная матрица» – Matrix. Класс должен содержать несколько конструкторов, в том числе конструктор ко-пирования. ...

В зависимости от времени года "весна", "лето", "осень", "зима" определить погоду "тепло", "жарко", "холодно", "очень холодно" - C++
В зависимости от времени года &quot;весна&quot;, &quot;лето&quot;, &quot;осень&quot;, &quot;зима&quot; определить погоду &quot;тепло&quot;, &quot;жарко&quot;, &quot;холодно&quot;, &quot;очень холодно&quot;. Я так...

Warning C4700: использована неинициализированная локальная переменная "matrix" - C++
тогда еще 1 вопрос: при попытке реализовать чтение из файла в виде функции: #include &lt;fstream&gt; #include &lt;iostream&gt; #include...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
24.03.2012, 12:29
Ответ Создать тему
Опции темы

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