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

Операция с матрицами "Объектно-ориентир программ" - C++

Восстановить пароль Регистрация
 
Isya Shmonder
0 / 0 / 0
Регистрация: 19.11.2010
Сообщений: 21
25.03.2012, 09:54     Операция с матрицами "Объектно-ориентир программ" #1
Добрый день. Определить класс 2x2 матрицы. Определить операцию вычисления обратной матрицы с помощью перегрузки операции “--” (двойной минус).Заранее благодарен.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.03.2012, 09:54     Операция с матрицами "Объектно-ориентир программ"
Посмотрите здесь:

Ищу ответы на задания из книги Лафоре Р. "Объектно-ориентированное программирование в С++" 4 издание. C++
C++ разница между "Порядок выполнения программ на языке C" и "Структура программы на языке C"
C++ Решение всех упражнений из книги Р. Лафоре "Объектно-ориентированное программирование в С++"
Указатели. Необработанное исключение в "0x77c015de" ": 0x00000000: Операция успешно завершена C++
C++ Операция "остаток от деления"
Битовая операция "ИЛИ" эквивалентна операции сложения для двух целых чисел? C++
C++ Логическая операция "Исключающее Или"
C++ Объектно-ориентированное приложение: "Эмулятор банкомата"

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
HighPredator
 Аватар для HighPredator
5342 / 1725 / 320
Регистрация: 10.12.2010
Сообщений: 5,108
Записей в блоге: 3
25.03.2012, 14:54     Операция с матрицами "Объектно-ориентир программ" #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
class TMatrix
{
private:
    double Data[2][2];
public:
    TMatrix();
    double Det();
    double GetItem(int i, int j);
    void SetItem(int i, int j, double Value);
    const TMatrix operator--(int);
};
 
TMatrix::TMatrix()
{
    int i,j;
    for(j=0;j<2;j++)
    {
        for(i=0;i<2;i++) Data[i][j]=0.0;
    }
}
 
double TMatrix::Det()
{
    double temp=Data[0][0]*Data[1][1]-Data[0][1]*Data[1][0];
    return temp;
}
 
double TMatrix::GetItem(int i, int j)
{
    if(((i<2)&&(i>0))&&((j<2)&&(j>0))) return Data[i][j];
    else return 0.0;
}
 
void TMatrix::SetItem(int i, int j, double Value)
{
    if(((i<2)&&(i>0))&&((j<2)&&(j>0))) Data[i][j]=Value;
}
 
const TMatrix TMatrix::operator --(int)
{
    TMatrix temp;
    double k=this->Det();
    k=1/k;
    temp.SetItem(0,0,this->GetItem(1,1)*k);
    temp.SetItem(0,1,this->GetItem(0,1)*(-k));
    temp.SetItem(1,0,this->GetItem(1,0)*(-k));
    temp.SetItem(1,1,this->GetItem(0,0)*k);
    return temp;
}
Проверить не забудьте.
Yandex
Объявления
25.03.2012, 14:54     Операция с матрицами "Объектно-ориентир программ"
Ответ Создать тему
Опции темы

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