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

Создать класс Матрица и производный от него - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Ошибка в коде http://www.cyberforum.ru/cpp-beginners/thread613247.html
Друзья, помогите. Почему программа не открывает указанный файл? Вчём может быть ошибка? #include "stdafx.h" #include <iostream> #include <fstream> using namespace std; int main() { setlocale(LC_ALL,"Russian"); char s;
C++ Функции ifstream , ofstream. Исправить Помогите исправить код пжлст, не работает прога( #include "stdafx.h" #include <iostream> #include <conio.h> #include <stdio.h> #include <string> #include <fstream> #include <Windows.h> using namespace std; http://www.cyberforum.ru/cpp-beginners/thread613237.html
C++ Компилятор turbo c
Помогите найти нормальный компилятор turbo c++ с настроенными путями к графическому драйверу. Или подскажите как настроить компилятор для работы с Graphics.h
C++ Книги Седжвика
вечер добрый есть ли существенная разница между этими книгами? 1) http://www.ozon.ru/context/detail/id/1425749/ 2) http://www.ozon.ru/context/detail/id/5531965/ обе состоят из пяти одинаковых по названию частей первая есть в сети, второй нет
C++ Проверить активно окно http://www.cyberforum.ru/cpp-beginners/thread613203.html
Вот пишу в консоле и пытаюсь проверить если я перешол в окно блокнота тогда показать сообщение Знаю что неправильно но все же как? #include <Windows.h> #include <WinBase.h> #include <WinUser.h> #include <iostream> #include <conio.h>
C++ WinAPI, ошибка при компиляции Всем привет. Начал изучать WinAPI.Пишу код,но при компиляции Visual studio выдаёт ошибку и указывает на mess. #include<Windows.h> int WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int) { char mess = "Text : C++ POWER !!!"; MessageBox(NULL,L"text",mess,MB_OK); подробнее

Показать сообщение отдельно
asidorchenko
379 / 205 / 25
Регистрация: 09.04.2012
Сообщений: 635
25.06.2012, 08:56     Создать класс Матрица и производный от него
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
150
151
152
153
154
155
156
157
158
159
160
161
162
#include <iostream>
#include <iomanip>
#include <stdlib.h>
#include <windows.h>
#include <math.h>
#include <time.h>
 
using namespace std;
 
class Matrix
{
private:
   int **array;
   int size;
   float det;
public:
   void set_Matrix_element(int i1, int i2, int i3) { array[i1][i2] =i3; }
   int get_Matrix_element(int i1, int i2) { return array[i1][i2]; }
   int get_Matrix_size() { return size; }
   void set_Matrix();
   void show_Matrix();
   void show_TMatrix();
   float set_det();
   Matrix::Matrix(); //Конструктор по умолчанию
   Matrix::Matrix(int); //Конструктор с параметрами
   ~Matrix() {cout<< "Матрица уничтожена";}; //Диструктор
};
 
void Matrix::set_Matrix() 
{
srand((unsigned) time(NULL));
array = new int*[size];
for(int i=0; i<size; i++)
   array[i] = new int [size];
for(int i=0; i<size; i++)
   for(int j=0; j<size; j++)
      array[i][j]=rand()%30;  
}
 
float Matrix::set_det()
{
int l;
float sum11=1,sum12=0, sum21=1, sum22=0;
// находим детерминант
for(int i=0; i<size; i++)
   {
   sum11=1; l=2*size-1-i; sum21=1;
   for(int j=0; j<size; j++)
      {
      sum21*=array[j][l%size];
      l--;
      sum11*=array[j][(j+i)%(size)];
      }
   sum22+=sum21;
   sum12+=sum11;
   }
det=sum12-sum22;
return det;
}
 
void Matrix::show_Matrix()
{
cout<<"Исходная матрица:"<<endl;
for(int i=0; i<size; i++)
   {
   for(int j=0; j<size; j++)
      cout<<setw(4)<<array[i][j];
   cout<<endl;
   } 
set_det();
cout<<"Определитель равен:"<<det<<endl;            
}
 
void Matrix::show_TMatrix()
{
cout<<"Транспонированная матрица:"<<endl;
for(int j=0; j<size; j++)
   {
   for(int i=0; i<size; i++)
      cout<<setw(4)<<array[i][j];
   cout<<endl;
   }            
}
 
Matrix::Matrix()
{
size=3;
set_Matrix();
cout<<"Используется конструктор по умолчанию! Размер матрицы по умолчнию равен 3"<<endl;           
}
 
Matrix::Matrix(int a)
{
size=a;
set_Matrix();
cout<<"Используется конструктор с параметрами! Размер матрицы равен "<<size<<endl;           
}
 
 
 
 
class Matrix2 : public Matrix
{
public:
 Matrix2() { };
 void AddMatrix(Matrix* a, Matrix* b) 
 {
 int sz = a->get_Matrix_size();
 int i,j;
 for(i=0;i<sz;i++)
  for(j=0;j<sz;j++)
   set_Matrix_element ( i,  j,  a->get_Matrix_element(i,j) + b->get_Matrix_element(i,j) );
 };
 
 void MulMatrix(Matrix* a, Matrix* b) 
 {
 int sz = a->get_Matrix_size();
 int i,j, k,l;
 int p;
 for(i=0;i<sz;i++)
  for(j=0;j<sz;j++)
 {
   for (p = 0, k = 0; k<sz;k++)
   {
    p += a->get_Matrix_element(i,k) * b->get_Matrix_element(k, j);
   }
   set_Matrix_element ( i,  j,  p);
 }
 };
 
 ~Matrix2() { };
};
 
 
 
int main()
{
 SetConsoleOutputCP(1251);
 SetConsoleCP(1251);
 
Matrix B(3);
Matrix C(3);
for(int i = 0; i< B.get_Matrix_size(); i++)
for(int j = 0; j< B.get_Matrix_size(); j++)
B.set_Matrix_element(i, j, i+j);
B.show_Matrix();
 
for(int i = 0; i< B.get_Matrix_size(); i++)
for(int j = 0; j< B.get_Matrix_size(); j++)
C.set_Matrix_element(i, j, i+j);
C.show_Matrix();
 
 
 
Matrix2  t;
 
t.MulMatrix(&B, &C);
t.show_Matrix();
 
 system("pause");
 return 0;
}
 
Текущее время: 03:47. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru