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

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

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

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

25.03.2012, 09:54. Просмотров 462. Ответов 1
Метки нет (Все метки)

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

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

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
HighPredator
 Аватар для HighPredator
5411 / 1794 / 327
Регистрация: 10.12.2010
Сообщений: 5,297
Записей в блоге: 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     Операция с матрицами "Объектно-ориентир программ"
Ответ Создать тему
Опции темы

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