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

сравнить матрицы - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Проверка для заданного года, является ли он високосным http://www.cyberforum.ru/cpp-beginners/thread911986.html
Здравствуйте! Помогите пожалуйста подправить программу! Проверка для заданного года, является ли он високосным. Написать программу, которая запрашивает у пользователя год и сообщает, является ли он...
C++ Программа которая сообщает количество введенных слов Программа которая использует объекта string и цикл для чтения по одному слову за раз до тех пор, пока не будет введено слово done. Затем программа должна сообщить количество введенных слов (исключая... http://www.cyberforum.ru/cpp-beginners/thread911984.html
C++ Отправка письма на e-mail
Нужна функция отправки письма на e-mail....Вообще не представляю как это реализовать, плиз подскажите.
C++ класс Вектор
всем привет. Начинаю делать домашку :-) в классе вектор создаю метод: cVector.h class cVector { public: cVector(); //конструктор по умолчанию cVector(const cVector &tmp); //конструктор...
C++ Программы на C++, созданные в NetBeans 7.3.1, запускаются на доли секунды http://www.cyberforum.ru/cpp-beginners/thread911918.html
У меня Win Xp SP 3. Установил среду NetBeans 7.3.1 с компилятором Cygwin. Программы дебажатся и проекты билдятся, но вот результат — консольные приложения Win32 вылетают спустя доли секунды после...
C++ Сортировка массивов (?) Суть задания, в принципе, простая - есть три книги, написанные тремя авторами и содержащие разное кол-во страниц. Предлагается отсортировать эти книги по кол-ву страниц и вывести их в файл. Моя... подробнее

Показать сообщение отдельно
xackep
0 / 0 / 0
Регистрация: 15.04.2013
Сообщений: 20
25.06.2013, 22:13  [ТС]
да, я могу полностью код выложить. просто там нужно перемножить 4 матрицы между собой всеми способами

Добавлено через 45 секунд
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
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
#include "stdafx.h"
#include <iostream>
#include <iomanip>
 
using namespace std;
 
 class matrix {                                                 // клас матрица
        private:                                                //писать необязательно
        public:
        int n, m;
        float *massiv;
        float **p_m;
        float **sort;
 
            matrix();                                           //конструктор по умолчанию
        matrix (int count_n, int count_m);                      //конструктор инициализации
        matrix (const matrix& matr);                            //конструктор копирования
        int sum (matrix& summa);
        matrix operator*(matrix& umn1);
        friend istream& operator >> (istream& is, matrix& matr);
        friend ostream& operator << (ostream& os, matrix& matr);
        ~matrix();
        };
 
 //конструктор по умолчанию
 matrix::matrix()
 {
     m=0;
     n=0;
 }
 
 //конструктор инициализации
 matrix::matrix(int count_m, int count_n)
 {
     m=count_m;
     n=count_n;
     p_m = new float *[m];
     for (int i=0; i<m; i++)
     {
         p_m[i]=new float [n];
     }
     for (int i=0; i<m; i++)
     {
         for (int j=0; j<n; j++)
             p_m[i][j]=0;
     }
 }
 
 //конструктор копирования
 matrix::matrix (const matrix& matr)                      
 {
     m=matr.m;
     n=matr.n;
     p_m = new float *[m];
     for (int i=0; i<m; i++)
     {
         p_m[i]=new float [n];
     }
     for (int i=0; i<m; i++)
     {
         for (int j=0; j<n; j++)
             p_m[i][j]=matr.p_m[i][j];
     }
 }
 
 //деструктор
 matrix::~matrix()
 {
 }
 
 istream& operator >> (istream& is, matrix& matr)
 {
     int m, n;
     cout << "Введите размер матрицы через пробел: ";
     is >> m; 
     is >> n;
     matr = matrix (m, n);
     for (int i=0; i<matr.m; i++)
         for (int j=0; j<matr.n; j++)
             matr.p_m[i][j] = float (rand()%10/2);
     return is;
 }
 matrix matrix::operator *(matrix &umn1)
{
    float sum;
    matrix umn(this->m,umn1.n);
    if (this->n==umn1.m)
    {
        for(int i=0;i<this->m;i++)
            for(int j=0;j<umn1.n;j++)   
            {
                sum=0;
                for(int k=0;k<this->n;k++)
                    sum+=p_m[i][k]*umn1.p_m[k][j];
                umn.p_m[i][j]=sum;
            }
    }
    else
        cout << "Error: incorrect size of the matrix\n";
    return umn;
}
ostream& operator << (ostream& os, matrix& matr)
{
    for (int i=0; i<matr.m; i++)
    {
        for (int j=0; j<matr.n; j++)
            os << "\t" << matr.p_m[i][j];
        cout << endl;
    }
    return os;
}
int sum (matrix& summa)
{
    int i;
    float s=0;
    for(i=0; i<summa.m; i++)
        s+=summa.p_m[i][i];
    return s;
}            
 void main ()
 {
     float max=0;
     setlocale(LC_CTYPE, "rus");            //функция для включения русского языка
     matrix A;
     matrix B;
     matrix C;
     matrix D;
     cin >> A;
     cout << A;
     cin >> B;
     cout << B;
     cin >> C;
     cout << C;
     cin >> D;
     cout << D;
 
 
 
     matrix AB=A*B;
     matrix BA=B*A;
     matrix AC=A*C;
     matrix CA=C*A;
     matrix AD=A*D;
     matrix DA=D*A;
     matrix BC=B*C;
     matrix CB=C*B;
     matrix BD=B*D;
     matrix DB=D*B;
     matrix CD=C*D;
     matrix DC=D*C;
     cout << AB << "\n";
     cout << BA << "\n";
     cout << AC << "\n";
     cout << CA << "\n";
     cout << AD << "\n";
     cout << DA << "\n";
     cout << BC << "\n";
     cout << CB << "\n";
     cout << BD << "\n";
     cout << DB << "\n";
     cout << AB << "\n";
 
      if (sum (AB) > max) max = sum (AB);
      if (sum (BA) > max) max = sum (BA);
      if (sum (AC) > max) max = sum (AC);
      if (sum (CA) > max) max = sum (CA);
      if (sum (AD) > max) max = sum (AD);
      if (sum (DA) > max) max = sum (DA);
      if (sum (BC) > max) max = sum (BC);
      if (sum (CB) > max) max = sum (CB);
      if (sum (BD) > max) max = sum (BD);
      if (sum (DB) > max) max = sum (DB);
      if (sum (CD) > max) max = sum (CD);
      if (sum (DC) > max) max = sum (DC);
 
     system("pause");
 
 }
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru