6 |
Matrix::Matrix(int nr, int nc, double value) { |
Matrix::Matrix(int nr, int nc, double value) { |
7 |
|
|
8 |
m = new double[nr * nc]; |
m = new double[nr * nc]; |
|
|
|
9 |
nrow = nr; |
nrow = nr; |
10 |
ncol = nc; |
ncol = nc; |
11 |
int i, j; |
int i, j; |
93 |
//} |
//} |
94 |
|
|
95 |
//Matrix& Matrix::operator = (const Matrix& d) { |
//Matrix& Matrix::operator = (const Matrix& d) { |
96 |
// int i; |
// int i,j; |
97 |
// if (v != 0) { |
//// if (v != 0) { |
98 |
// for (i = 0; i < nrow; i++) |
//// for (i = 0; i < nrow; i++) |
99 |
// delete v[i]; |
//// delete v[i]; |
100 |
// delete[] v; |
//// delete[] v; |
101 |
// } |
//// } |
102 |
|
// if (m != 0) |
103 |
|
// delete[] m; |
104 |
// |
// |
105 |
// nrow = d.nrow; |
// nrow = d.nrow; |
106 |
// if (nrow > 0) { |
// ncol = d.ncol; |
|
// v = new double*[nrow]; |
|
|
// for (i = 0; i < nrow; i++) |
|
|
// v[i] = new double(*d[i]); |
|
107 |
// |
// |
108 |
|
// double* aux; |
109 |
|
// if (nrow > 0) { |
110 |
|
// m = d.m; |
111 |
|
////// v = new double*[nrow]; |
112 |
|
//// m = new double[nrow * ncol]; |
113 |
|
////// for (i = 0; i < nrow; i++) |
114 |
|
////// v[i] = new double(*d[i]); |
115 |
|
//// cout << "0000000?????????:" << d[20] << endl; |
116 |
|
//// for (i = 0; i < nrow; i++) { |
117 |
|
//// for (j = 0; j < ncol; j++){ |
118 |
|
////// cout << "j:" << j << endl; |
119 |
|
//// cout << "????????????????????0" << endl; |
120 |
|
//// aux = (double*) d[i*ncol+j]; |
121 |
|
//// cout << "????????????????????1" << endl; |
122 |
|
//// m[i*ncol+j] = 0; |
123 |
|
////// cout << "????????????????????2" << endl; |
124 |
|
//// } |
125 |
|
//// } |
126 |
// } else |
// } else |
127 |
// v = 0; |
// m = 0; |
128 |
// |
// |
129 |
// return *this; |
// return *this; |
130 |
//} |
//} |
139 |
} |
} |
140 |
} |
} |
141 |
|
|
142 |
|
void Matrix::Initialize(int nr, int nc, double initial) { |
143 |
|
if (m != 0) |
144 |
|
delete[] m; |
145 |
|
|
146 |
|
m = new double[nr * nc]; |
147 |
|
nrow = nr; |
148 |
|
ncol = nc; |
149 |
|
int i, j; |
150 |
|
for (i = 0; i < nr; i++) { |
151 |
|
for (j = 0; j < nc; j++) |
152 |
|
m[i*ncol+j] = initial; |
153 |
|
} |
154 |
|
} |
155 |
|
|
156 |
void Matrix::Print(ofstream& outfile) const { |
void Matrix::Print(ofstream& outfile) const { |
157 |
int i, j; |
int i, j; |
158 |
for (i = 0; i < nrow; i++) { |
for (i = 0; i < nrow; i++) { |
166 |
|
|
167 |
void Matrix::setToZero() { |
void Matrix::setToZero() { |
168 |
int i, j; |
int i, j; |
|
// **v = {0}; |
|
169 |
for (i = 0; i < nrow; i++) |
for (i = 0; i < nrow; i++) |
170 |
for (j = 0; j < ncol; j++) |
for (j = 0; j < ncol; j++) |
171 |
m[i*ncol+j] = 0; |
m[i*ncol+j] = 0.0; |
|
// (*v[i]).setToZero(); |
|
172 |
} |
} |