Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.12.2011, 16:18   #1
Djigurda
 
Регистрация: 10.11.2011
Сообщений: 6
По умолчанию Описание класса "Матрица" с использованием перегружененых операций (Visual C++)

Добрый день. Собственно задание:
Описать класс "матрица чисел" с компонентными данными: размерности матрицы, указатель на элементы. Перегрузить операции: << (вывод матрицы на экран), +(сложение матриц),унарный - (изменить знак каждого элемента), /=(каждый элемент разделить на число).
Никак не могу понять как сделать матрицу, не являющуюся объектом класса, при том что к ней должны применяться перегруженные операции. объясните хоть что то пожалуйста

Код:
#include <iostream>
using namespace std;

class matrix
{
	int N;
	int i;
	int j;
public:
		matrix (int = 0, int = 0, int = 0);
		friend ostream& operator <<(ostream&, matrix);
		friend matrix& operator +(matrix, matrix);
		friend matrix& operator -(matrix, matrix);
		friend matrix& operator /=(matrix, matrix);
	};
matrix :: matrix (int n, int xi, int xj)
{
	N=n;
	i=xi;
	j=xj;
}

ostream& operator << (ostream& out ,float A[])
{
	for (this->i=0;this->i++;this->i<this->N)
	for (this->j=0;this->j++;this->j<this->N)
		out<<A[i,j];
}

matrix& operator +(float A[], float B[], float C[])
{
	for (this->i=0;this->i++;this->i<this->N)
	for (this->j=0;this->j++;this->j<this->N)
	C[this->i,this->j]=A[this->i,this->j]+B[this->i,this->j];
}

matrix& operator -(float A[])
{
	for (this->i=0;this->i++;this->i<this->N)
	for (this->j=0;this->j++;this->j<this->N)
    A[this->i,this->j]=A[this->i,this->j]* -1;
}

matrix& operator /=(float A[],k)
{
	for (this->i=0;this->i++;this->i<this->N)
	for (this->j=0;this->j++;this->j<this->N)
	A[this->i,this->j]= A[this->i,this->j]/k;
}

void main()
{
	float A{1.0,2.0,3.0,4.0,5.0};
	float B{4.0,5.0,3.0,8.0,2.0};
	float C(5);
	int k;
	cout<<"Input a number"<<endl;cin>>k;
	matrix ob(5,0,0);
	cout<<A<<endl,,endl;
	C[]= B[]+ A[];
	cout<<A<<endl,,endl;
	A[]-;
	cout<<A<<endl,,endl;
	A[]/=k;
	cout<<A<<endl,,endl;
	cin>>k;
}
Djigurda вне форума Ответить с цитированием
Старый 09.12.2011, 18:08   #2
Djigurda
 
Регистрация: 10.11.2011
Сообщений: 6
По умолчанию

мужики помогите
Djigurda вне форума Ответить с цитированием
Старый 09.12.2011, 21:10   #3
Djigurda
 
Регистрация: 10.11.2011
Сообщений: 6
По умолчанию

может хотя бы кто ни будь объяснит суть создания матрицы вне класса? или я не правильно задание понял
Djigurda вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывести название соответствующей карты вида "шестерка бубен", "дама червей","туз треф" и т.п. воваава Помощь студентам 3 01.12.2011 12:50
Visual Basic, использование операторов "for..next" и "if.. end if" Dieza Помощь студентам 0 27.10.2010 20:46
игра "Пятнашки" на Visual C++ с использованием OpenGL Mr.Happy Фриланс 3 16.12.2009 16:19
при вводе на листе "магазин"- код товара появлялось "описание" товара из "склада" с "продажной ценой" aleksei78 Microsoft Office Excel 13 25.08.2009 12:04