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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.11.2012, 18:19   #1
bearmad
Новичок
Джуниор
 
Регистрация: 25.11.2012
Сообщений: 1
По умолчанию Из квадратной матрицы сделать прямоугольную

Помогите пожалуйста из квадратной матрицы сделать прямоугольную

Код:
#include <iostream>
#include <conio.h>
#include <math.h>
 using namespace std;
    class matrix {   // клас матриця
        private:
        int *p_m;
        int n;
        public:
        matrix (int count_n);
        matrix (const matrix& m);
        matrix operator+(const matrix my);
        matrix operator-(const matrix my);
        matrix operator*(const matrix my);
        matrix operator/(const matrix my);
        void   operator=(const matrix my);
        void   In_put();
        void   Out_put();
        ~matrix();
        };
 
matrix  matrix:: operator*(const matrix my)
    {
    int my_n=(n*n-n)/2+n;
    matrix m_ret(n);
    for(int i=0;i<my_n;i++)
    m_ret.p_m[i]=p_m[i]*my.p_m[i];
    return m_ret;
    };
 
matrix  matrix:: operator+(const matrix my)
{
int my_n=(n*n-n)/2+n;
matrix m_ret(n);
for(int i=0;i<my_n;i++)
m_ret.p_m[i]=p_m[i]+my.p_m[i];
return m_ret;
};
 
matrix  matrix:: operator-(const matrix my)
{
int my_n=(n*n-n)/2+n;
matrix m_ret(n);
for(int i=0;i<my_n;i++)
m_ret.p_m[i]=p_m[i]-my.p_m[i];
return m_ret;
};
 
matrix  matrix:: operator/(const matrix my)
{
int my_n=(n*n-n)/2+n;
matrix m_ret(n);
for(int i=0;i<my_n;i++)
m_ret.p_m[i]=p_m[i]/my.p_m[i];
return m_ret;
};
 
void matrix:: operator=(const matrix my)
{
int my_n=(n*n-n)/2+n;
for(int i=0;i<my_n;i++)
p_m[i]=my.p_m[i];
};
 
matrix::matrix(int count_n)
{
n=count_n;
int my_n=(n*n-n)/2+n;
p_m=new int [my_n];
for(int i=0;i<my_n;i++)
p_m[i]=0;
};
 
matrix::matrix (const matrix& m) {
n=m.n;
int my_n=(n*n-n)/2+n;
p_m=new int [my_n];
for(int i=0;i<my_n;i++)
p_m[i]=m.p_m[i];
};
 
matrix::~matrix()
{
delete p_m;
};
 
void matrix:: Out_put()
{
int y=0, out_ch=0;
for(int i=0;i<n;i++)
    {
    for(int k=0;k<y;k++)
        {
cout.width(4);
cout << "0";
        }
for(int j=0;j<n-y;j++)
{
cout.width(4);
cout << p_m[out_ch];
out_ch++;
}
cout << "\n";
y++;
    }
};
 
void matrix:: In_put()
{
int y=0, in_ch=0;
for(int i=0;i<n;i++)
    {
    for(int j=0;j<n-y;j++)
        {
cout << "[" << i << "," << j << "]: ";
cin >> p_m[in_ch];
in_ch++;
        }
y++;
    }
};
 
int main()
{
int size;
cout << "Matrix [Size]: ";
cin >> size;
matrix m1(size), m2(size), m(size);
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";
m=m1/m2;
cout << "\n Matrix 1 / Matrix 2 :\n";
m.Out_put();
getch();
};


________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!

Модератор.

Последний раз редактировалось Serge_Bliznykov; 26.11.2012 в 20:07.
bearmad вне форума Ответить с цитированием
Старый 26.11.2012, 18:33   #2
rlib
Форумчанин
 
Аватар для rlib
 
Регистрация: 22.05.2012
Сообщений: 352
По умолчанию

Задание не ясно. Какой вход, какой выход?
rlib вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание квадратной матрицы FedorF Microsoft Office Excel 1 11.06.2012 22:36
Транспонирование квадратной матрицы Djeki Microsoft Office Excel 1 18.05.2011 00:02
Заполнение Квадратной Матрицы Konrak Помощь студентам 3 16.05.2011 19:03
Создание квадратной матрицы Sl@m Помощь студентам 2 26.11.2010 08:39
Определитель квадратной матрицы Tomoyo Помощь студентам 22 04.11.2008 22:37