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

Описать класс, соответствующий матрицам, с операциями их сложения - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Упорядочить элементы 2х файлов http://www.cyberforum.ru/cpp-beginners/thread19082.html
Вобщем такая задача: Даны 2 файла в каждом элементы, упорядоченные по невозрастанию.Требуется упорядочить их и сохранить в третий файл. Сделал вот так: #include <stdio.h> #include <stdlib.h> #include <string.h> #include <conio.h> #include <io.h>
C++ Перемещение фишек помогите мне пожалуйста, очень нужно, осталась одна задача до зачета. если что, есть вебмани. «Фишки» Последовательность клеток занумерована числами от 1 до N. В каждой клетке стоит либо черная, либо белая фишка. Группой назовем набор подряд стоящих фишек одного цвета, ограниченный с обеих сторон фишками другого цвета или концами последовательности. Следует переместить фишки так,... http://www.cyberforum.ru/cpp-beginners/thread19048.html
C++ Подпрограммы сложения и умножения целых чисел, представленных в системах счисления с любым основанием от 2 до 10
1. Определить подпрограммы сложения и умножения целых чисел, представленных в системах счисления с любым основанием от 2 до 10. результаты проверять на десятичных числах. 2. Напишите программу создания n-символьной последовательности состоящей из совокупности 3 символов.... например 1,2,3 или a,b,c... в которой нет двух смежных идентичных последовательностей . для n=11 последовательность имеет...
Заменить числа числительными C++
Текст задачи: Имееться текстовый файл, в котором храниться некоторый текст. В тексте встречаються числа, записаные в цифровом представлении, а после числа в скобках одной буквой указан падеж, в котором это число следует читать. Напишите программу, которая на основе имеющегося файла создаст новый файл, заменяя числа количественными числительными в указаном падеже. Ф-ю которая которая...
C++ Русификатор С++ http://www.cyberforum.ru/cpp-beginners/thread18821.html
Слышал есть русификатор на С++, хотелось бы к 6 версии, но если нет то можно к любой.
C++ Алгоритм Хоара :wall:Помогите пожалуйста.. если задачка - Запрограмировать алгоритм Хоара сортировки одномерного массива действительных чисел.Подсчитать кол-во сравнений и перестановок элементов. Провести эксперимент с несколькими(порядка неск. десятков) массивами случайных чисел и выдать статистику л кл-ве сравнений и перестановок в каждом случае... буду оч. признателен если кто-то чем-то... подробнее

Показать сообщение отдельно
hamlet-ss6
0 / 0 / 0
Регистрация: 20.12.2008
Сообщений: 10

Описать класс, соответствующий матрицам, с операциями их сложения - C++

20.12.2008, 23:13. Просмотров 10517. Ответов 2
Метки (Все метки)

ПОМОГИТЕ ПОЖАЛУЙСТА!!!
Задание:
1. Описать класс, соответствующий матрицам размерности 7 × 7, с операциями сложения матриц, умножения матрицы на число, умножения матриц друг на друга*, вычисления определителя матрицы** и вывода матрицы на экран. Создать объекты A и B этого класса. Каждый элемент матрицы A равен сумме номеров (нумерация начинается с 0) своих столбца и строки, т. е. aij = i + j. Строки матрицы B сверху-вниз и слева-направо заполняются остатками от деления на 5 последовательных целых чисел, начинающихся с 0. Вычислить и вывести на экран дисплея значения следующих выражений: A + B, −7A + 4B, A ∗ B, (4B − 3E)2 − 2A2 , det(B), det(BA − E), где E — единичная матрица размерности 7 × 7.
* — если A = (aij ) и B = (bij ), то C = A + B = (aij + bij ), D = kA = (k ∗ aij ), F = A ∗ B = (fij = k aik ∗ bkj ).
** — Определитель матрицы A = (aij ) из n строк вычисляется следующим образом:
................. и т.д.
Прогу написал: (в Линуксе)

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
140
141
142
143
144
145
146
147
148
149
#include <iostream>
   using namespace std;
 void halt (int ErrNo) {
    cout << "Error!\n";
    exit (ErrNo);
}
 
class Matrix 
{
private:
    int value[7][7];
public:
    int &operator() (int p1, int p2);
    Matrix operator+ (Matrix);
    Matrix operator- (Matrix);
    Matrix operator* (int Num);
    Matrix operator* (Matrix);
    Matrix operator- ();
    friend double Det (Matrix);
};
 
ostream& operator <<(ostream& Out, Matrix matrix)
{
    Out <<"\n+-------------------------------------------------------+\n";
    for(int i = 0; i < 7; i++)
    {
        Out << '+';
        for(int j = 0; j < 7; j++)
        {
            Out.width(6);
            Out << matrix(i,j)<<" |";
        }
        Out << "\n";
    }
    Out <<"+-------------------------------------------------------+\n";
    return Out;
};
 
int& Matrix ::operator()(int p1, int p2)
{
    if (p1 > 7 || p2 > 7)
    {   cout << "Error\n" << endl;
        exit(1);
    }
    return value[p1][p2];
};
 
Matrix Matrix ::operator+ (Matrix matrix)
{
    Matrix TempMatrix;
    for (int i = 0; i < 7; i++)
        for(int j = 0; j < 7; j++)
            TempMatrix(i,j) = (*this)(i,j) + matrix(i,j);
    return TempMatrix;
};
 
Matrix Matrix ::operator- (Matrix matrix)
{
    Matrix TempMatrix;
    for (int i = 0; i < 7; i++)
        for(int j = 0; j < 7; j++)
            TempMatrix(i,j) = (*this)(i,j) - matrix(i,j);
    return TempMatrix;
};
 
Matrix Matrix ::operator- ()
{
    Matrix TempMatrix;
    for (int i = 0; i < 7; i++)
        for(int j = 0; j < 7; j++)
            TempMatrix(i,j) = -(*this)(i,j);
    return TempMatrix;
};
 
Matrix Matrix ::operator* (int n)
{
    Matrix TempMatrix;
    for (int i = 0; i < 7; i++)
        for(int j = 0; j < 7; j++)
            TempMatrix(i,j) = (*this)(i,j) * n;
    return TempMatrix;
};
 
Matrix Matrix ::operator* (Matrix matrix)
{
    Matrix TempMatrix;
    for (int i = 0; i < 7; i++)
        for(int j = 0; j < 7; j++)
        {
            TempMatrix(i,j) = 0;
            for (int k = 0; k < 7; k++)
                TempMatrix(i,j) += (*this)(i,k) * matrix(k,j);
        }
    return TempMatrix;
};
 
double Det(Matrix matrix) {
    double sign=1, d, X[7][7];
    for (int i1=0; i1<7; i1++)
        for (int j=0; j<7; j++)
            X[i1][j]=matrix.value[i1][j];
    for (int i=0; i<7; i++){
        if(X[i][i]==0){
            d=0;
            for (int j=i+1; j<7; j++){
                if (X[j][i]=0) {
                    for (int k=0; k<7; k++){
                        d=X[i][k];
                        X[i][k]=X[j][k];
                        X[j][k]=d;
                    }
                    sign=-sign;
                    d=1;
                    break;
                }
            }
            if (d==0) return 0;
        }
        for (int j=i+1; j<7; j++)
            for (int k=6; k>=i; k--) {
                X[j][k]=X[j][k]-X[i][k]*X[j][i]/X[i][i];
            }
    }
    for (int l=0; l<7; l++)
        sign*=X[l][l];
    return sign;
}
 
int main () {
    Matrix A,B,E;
    for (int i = 0; i < 7; i++)
        for(int j = 0; j < 7; j++)
        {
            if (i == j) E(i,j) = 1;
            else E(i,j) = 0;
            A(i,j) = i + j;
            B(i,j) = (i*7 + j)%5;
        }
                cout << "\n" << " A:" << A << endl;
                cout << "\n" << " B:" << B << endl;
                cout << "\n" << " E:" << E << endl;
        cout << "\n" << " (A+B):" << A + B << endl;
        cout << " (-7A + 4B):" << A*-7 + B*4 << endl;
        cout << " (A * B):" << A * B << endl;
        cout << " ((4B - 3E)^2 - 2A^2):" << (B*4 - E*3)*(B*4 - E*3) - (A*A)*2 << endl;
        cout << " Det(B) = " << Det(B) << endl;
        cout << " Det(BA-E) = " << Det(B*A - E) << "\n" << endl;
        return 0;
}
[/CODE]
но!!!!ПОМОГИТЕ ПОЖАЛУЙСТА СДЕЛАТЬ ПЕРЕДАЧУ МАТРИЦЫ ПО ССЫЛКЕ!!(через &)В проге-передача по значению..
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 15:45. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru