Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- #include <vector>
- using namespace std;
- /* შემოსატანი მატრიცა:
- 0 5.1 4 9.1
- 1 -7.5 6 -0.5
- -1.5 9 -4 3.5
- 2.4 -3.3 0 -0.9
- */
- void print(vector <double> v);
- const int n = 4;
- int main()
- {
- vector<double> b(n), a(n), c(n), f(n);
- // ვექტორების შევსება:
- ifstream ifs("matrix.txt");
- for (int i = 0; i < n; i++)
- ifs >> b[i] >> a[i] >> c[i] >> f[i];
- ifs.close();
- vector<double> alfa(n), beta(n), x(n), y(n);
- // i = {2 ... n}
- alfa[0] = a[0];
- for (int i = 1; i < n; i++)
- {
- beta[i] = b[i] / alfa[i - 1];
- alfa[i] = a[i] - beta[i] * c[i - 1];
- }
- /*
- Ly = f
- i = {2 ... n}
- */
- y[0] = f[0];
- for (int i = 1; i < n; i++)
- y[i] = f[i] - beta[i] * y[i - 1];
- /*
- Ux = y
- i = {n - 1 ... 1}
- */
- x[n - 1] = y[n - 1] / alfa[n - 1];
- for (int i = n - 2; i >= 0; i--)
- x[i] = (y[i] - c[i] * x[i + 1]) / alfa[i];
- printVector(x);
- system("PAUSE");
- return(0);
- }
- void printVector(vector<double> v)
- {
- for (int i = 0; i < v.size(); i++)
- cout << v[i] << "\t";
- cout << endl;
- }
Advertisement
Add Comment
Please, Sign In to add comment