Добавил:
Upload
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:12пми / Vectormatrica1 (1)
.cpp#include <iostream>
#include <cstdlib>
using namespace std;
class Matrica;
/////////////////////////////////////////////
class Vector
{
int *uk;
int razmer;
public:
Vector() {razmer =0;}
Vector(int s) {uk=new int[s];
razmer=s;
for (int i=0;i<s;i++) ///обнуляем элементы вектора
uk[i]=0;
}
void show1()
{cout << "vector: " << endl;
for (int i=0;i<razmer;i++)
{
cout<<uk[i]<<" ";
}
}
void show3()
{cout << "polu4enni vector: " << endl;
for (int i=0;i<razmer;i++)
{
cout<<uk[i]<<" ";
}
}
friend Vector operator *(Vector, Matrica);
friend bool sravnenie(Vector, Matrica);
};
/////////////////////////////////////////////
class Matrica
{
int **uk;
int str,stl;
public:
Matrica() {str=0; stl=0;}
Matrica(int str1,int stl1){str=str1;stl=stl1;uk=new int*[str];
for(int i=0; i<str; i++) ///обнуляем элементы матрицы
{
uk[i]=new int[str];
for(int j=0;j<stl;j++)
uk[i][j]=0;
}
}
void show2()
{cout << "matrica: " << endl;
for (int i=0; i < str; i++)
{
for (int j=0; j < stl; j++)
{
cout << uk[i][j] << " ";
}
cout << endl;
}
}
friend Vector operator *(Vector , Matrica );
friend bool sravnenie( Vector vector,Matrica mat)
{if (vector.razmer == mat.stl) ///проверка на количество столбцов матрицы
return 1; ///и размера вектора
else
return 0;}
};
/////////////////////////////////////////////
Vector operator *(Vector vec, Matrica mat)
{for(int i=0; i < vec.razmer; i++)
{for (int j=0; j < mat.stl; j++)
vec.uk[i] = vec.uk[i] * mat.uk[j][i];
}
return vec;
}
/////////////////////////////////////////////
int main()
{
Vector vect(5);
Matrica matr(5,5);
vect.show1();
cout << endl;
matr.show2();
if (sravnenie(vect, matr))
{
vect = vect * matr;
vect.show3();}
else
cout << "Can`t do this!" << endl;
system("pause");
}
Соседние файлы в папке 12пми