ВУЗ:
Составители:
Рубрика:
Объектно-ориентированное программирование на С++
else
// СЛАУ с прямоугольной матрицей коэффициентов
// решается методом Жордана-Гаусса для получения
// общего решения
JordanGauss();
}
В конструкторе класса Slau необходимо выделить память для
хранения матрицы коэффициентов, вектора свободных членов и вектора
решения. Это осуществляется путем вызова конструкторов внедренных
объектов класса Matrix.
// конструктор класса Slau
Slau::Slau(int m1, int n1): a(m1, n1),b(1, m1),x(1, n1)
{
m = m1;
n = n1;
// выделение памяти и заполнение массива
// для хранения перестановки переменных
reoder = new int [n];
for(int i = 0; i < n; i++)
reoder[i] = i;
}
// дружественная функция ввода СЛАУ
istream& operator >> (istream& in, Slau& ob)
{
cout << "Матрица коэффициентов: ";
in >> ob.a;
cout << "Вектор свободных членов: ";
in >> ob.b;
return in;
}
// дружественная функция вывода СЛАУ
ostream& operator << (ostream& out, Slau& ob)
{
for(int i = 0; i < ob.m; i++)
{
for(int j = 0; j < ob.n; j++)
out << ob.a[i][j] << "\t";
out << "\t" << ob.b[0][i] << endl;
}
try
{
out << "Решение СЛАУ: "<<endl;
211
Объектно-ориентированное программирование на С++ else // СЛАУ с прямоугольной матрицей коэффициентов // решается методом Жордана-Гаусса для получения // общего решения JordanGauss(); } В конструкторе класса Slau необходимо выделить память для хранения матрицы коэффициентов, вектора свободных членов и вектора решения. Это осуществляется путем вызова конструкторов внедренных объектов класса Matrix. // конструктор класса Slau Slau::Slau(int m1, int n1): a(m1, n1),b(1, m1),x(1, n1) { m = m1; n = n1; // выделение памяти и заполнение массива // для хранения перестановки переменных reoder = new int [n]; for(int i = 0; i < n; i++) reoder[i] = i; } // дружественная функция ввода СЛАУ istream& operator >> (istream& in, Slau& ob) { cout << "Матрица коэффициентов: "; in >> ob.a; cout << "Вектор свободных членов: "; in >> ob.b; return in; } // дружественная функция вывода СЛАУ ostream& operator << (ostream& out, Slau& ob) { for(int i = 0; i < ob.m; i++) { for(int j = 0; j < ob.n; j++) out << ob.a[i][j] << "\t"; out << "\t" << ob.b[0][i] << endl; } try { out << "Решение СЛАУ: "<
Страницы
- « первая
- ‹ предыдущая
- …
- 209
- 210
- 211
- 212
- 213
- …
- следующая ›
- последняя »