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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.04.2011, 15:39   #1
doter
Пользователь
 
Регистрация: 25.09.2010
Сообщений: 34
Смущение Класс для работы с матрицами 2х2

Доброго времени суток. Очень нужна ваша помощь . Мне нужно создать класс , обеспечивающий работу с матрицами 2х2 . В общем то , описание класса есть , меню для диалога с пользователем есть . Проблема в правильном вызове функций . Я никогда не занимался ООП и очень на вас надеюсь. Вот архив со всем проектом . Программа запускается , но пока ничего не делает )
Заранее спасибо за внимание и за помощь !
Вложения
Тип файла: rar Matrix.rar (2.8 Кб, 18 просмотров)
doter вне форума Ответить с цитированием
Старый 18.04.2011, 18:02   #2
Assemblerru
Форумчанин
 
Регистрация: 28.01.2010
Сообщений: 224
По умолчанию

Я посмотрел Ваше "Произведение" чесно говоря не стал сильно разбираться т.к. маловато коментариев, а я чтото не могу ваши мысли читать (конечно простите за сорказм).
Поставте задачу по яснее.
Например:
методом класса умножить в строке 1 символ 1(переданной классу как массив) умножить на в символ строки 2 символ 2 и т.д.
всему свое время как зиме и весне
и каждому солнцу свой неба кусок
Assemblerru вне форума Ответить с цитированием
Старый 18.04.2011, 19:38   #3
doter
Пользователь
 
Регистрация: 25.09.2010
Сообщений: 34
По умолчанию

я решил начать прогу переделать , чтобы она была более понятна .
Тут какие-то 2 ошибки , не пойму , как их исправить . Если Вас не затруднит , посмотрите вот этот код :
Код:
#include <iostream.h>
#include <conio.h>
#include <math.h>

const int l=2;
const int s=2;
int f;
 
    class matrix {   // êëàññ ìàòðèöà
        private:
        int **matr;
 void Create()
        {
            matr = new  int*[l];
            for (int z=0; z<s; z++)
                matr[z] = new int[s];
        }
        public:
		matrix (int l,int s);       
		int* operator[](int i) { return matr[i]; } 
const int* operator[](int i) const { return matr[i]; }     
        matrix operator+(const matrix & b);
        matrix operator-(const matrix & b);
        matrix operator*(const matrix & b);
        matrix operator*(int f);        
        void   In_put();
        void   Out_put();
 ~matrix()
        {
            for (int z=0; z<l; z++)
                delete[] matr[z];
            delete[] matr;
        }

        };
 
matrix  matrix::operator*(const matrix & b)
    {
	int i,j,k;
	matrix c(l,s);
for (i=0;i<l;i++)
	for (j=0;j<l;j++)
		for (k=0; k<l; k++)
			c[i][j]+=b[i][k]+(*this)[k][j];
return c;
    };

matrix matrix::operator * (int f)
{
int i,j;
matrix c(l,s);
for (i=0;i<l;i++)
	for (j=0;j<l;j++)
		c[i][j]=((*this)[i][j])*f;
return c;
};

 
matrix matrix::operator + (const matrix & b)
{
int i,j;
matrix c(l,s);
for (i=0;i<l;i++)
	for (j=0;j<l;j++)
		c[i][j]=b[i][j]+(*this)[i][j];
return c;
};
 
matrix  matrix::operator-(const matrix & b)
{
int i,j;
matrix c(l,s);
for (i=0;i<l;i++)
	for (j=0;j<l;j++)
		c[i][j]=b[i][j]-(*this)[i][j];
return c;
};
 
void matrix::Out_put()
{
	matrix c(l,s);
for(int i=0;i<l;i++)
    {
    for(int j=0;j<l;j++) { cout<<""<<(c[i][j]);}
	cout<<endl;}        
};
 
void matrix::In_put()
{
	matrix a(l,s);
for(int i=0;i<l;i++)
    {
    for(int j=0;j<l;j++)
        {cin>>(a[i][j]);}}
};
 
int main()
{
	int f;
matrix m1(l,s), m2(l,s), m(l,s);
cout << "\nMatrix 1: \n";
m1.In_put();
cout << "\nMatrix 2: \n";
m2.In_put();
m=m1+m2;
cout << "\n Matrix 1 + Matrix 2 : \n";
m.Out_put();
cout << "\n";
m=m1-m2;
cout << "\n Matrix 1 - Matrix 2 : \n";
m.Out_put();
cout << "\n";
m=m1*m2;
cout << "\n Matrix 1 * Matrix 2 :\n";
m.Out_put();
cout << "\n";
cout<<"Enter f:";cin>>f;
m=m1*f;
cout << "\n Matrix 1 * f :\n";
m.Out_put();
m=m2*f;
cout << "\n Matrix 2 * f :\n";
m.Out_put();

return 0;
};
doter вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Класс для работы с большими массивами xapiton Visual C++ 24 07.02.2011 18:18
Построить класс для работы со списком Васильева Зинаида Помощь студентам 4 30.10.2010 21:10
Класс для работы со стеком(C++).элемент стека-символ. Marusechka Помощь студентам 1 26.09.2010 19:04
Написать класс для работы с двоичными числами в Visual C++ 2008 Maxs Фриланс 1 23.12.2009 21:07
класс для работы с обьектом множества Kreaman Помощь студентам 3 26.11.2008 01:02