Форум С++

 

Ответить на сообщение

Вернуться к теме

Вы отвечаете на сообщение:

Автор: Vitaliy113   (04.04.2010 в 16:14)
Существует вот такая программа, которая транспонирует матрицу, работает идеально, так вот нужно чтобы мои двумерные массивы стали динамические. Как это сделать в обычной программе у меня не вызывает никаких сложностей, но вот здесь я что-то туплю, вообще ничего не получается(, помогите разобраться, пожалуйста. Спасибо
Мой код:


#include <stdafx.h>
#include <iostream>
#include <fstream>
#include <math.h>

using namespace std;
int i,j,n,m;
class TRMATR
{
int q,w,e,r;
int M[250][250];
public:
int MT[250][250];
TRMATR(){};
TRMATR(int i,int j,int n,int m,int D[250][250]){M[q][w]=D[i][j];e=n;r=m;};
friend istream &operator>>(istream &stream, TRMATR &ob2);
friend ostream &operator<<(ostream &stream, TRMATR ob2);
};

istream &operator>>(istream &stream, TRMATR &ob2)
{
{
cout<<"Enter number of rows: \n";
stream>>n;
cout<<"Enter number of columns: \n";
stream>>m;
system("cls");
cout<<"Enter the matrix elements:\n";

for(i=1;i<n+1;i++)
{
for(j=1;j<m+1;j++)
{
cout<<"element "<<i<<" "<<j<<"=";
stream>>ob2.M[i][j];
system("cls");
};
};
};
return stream;
}

ostream &operator<<(ostream &stream, TRMATR ob2)
{
{
cout<<" Initial matrix: \n";
for(i=1;i<n+1;i++)
{ cout<<" \n";
for(j=1;j<m+1;j++)
{
stream<<ob2.M[i][j]<<" ";
};
}
stream<<" \n" ;
}
cout<<"-----------------------------";
////////transposition/////////////
{
for(i=1;i<n+1;i++)
{
for(j=1;j<m+1;j++)
{
ob2.MT[j][i]=ob2.M[i][j];
};};};
{
cout<<"\n Transposed matrix: \n";
for(i=1;i<m+1;i++)
{ cout<<" \n";
for(j=1;j<n+1;j++)
{
stream<<ob2.MT[i][j]<<" ";
};};
stream<<" \n" ;
};
return stream;
}

void main()
{
TRMATR ob;
cin>>ob;
cout<<ob;
}


Ваше имя:

Пароль:

Цитировать

Используйте тэги для выделения текста:
Код: [code][/code]
Жирный: [b][/b]
Наклонный: [i][/i]
URL: [url][/url]

Сообщение:

Прикрепить: