GraphSystLaba1

Run Settings
LanguageC++
Language Version
Run Command
#include "stdafx.h" #include <iostream> #include <time.h> using namespace std; const int N = 2; int delta = 0; int p = 1; void MatrixSwap(float A[N][N], int ns, int tmp2) { int tmp; for (int j = 0; j < N; j++) { tmp = A[tmp2][j]; A[tmp2][j] = A[ns][j]; A[ns][j] = tmp; } } void MatrixDivide(float A[N][N], int &p, int &n) { float q; int j = 0; for (int i = n; i < N; i++) { q = A[i][n]; for (j = n; j < N; j++) { if (q == 0) { for (int k = i; k < N; k++) { if (A[k][n] != 0) { MatrixSwap(A, i, k); break; } else if (k == N - 1) { cout << "Determinate = 0" << endl; system("pause"); exit(0); } } } A[i][j] = A[i][j] / q; p *= q; } } } void MatrixRemainder(float A[N][N], int &p, int &n) { int q; for (int i = n + 1; i < N; i++) { for (int j = n; j + n < N; j++) { A[i][j] = A[i][j] - A[n][j]; } } n = n + 1; } void MatrixFilling(float A[N][N]) { for (int i = 0; i < N; i++) { for (int j = 0; j < N; j++) { cin >> A[i][j]; } } cout << endl; } void MatrixFillingAuto(float A[N][N]) { for (int i = 0; i < N; i++) { for (int j = 0; j < N; j++) { A[i][j] = rand() % 100; } } cout << endl; } void MatrixOutput(float A[N][N]) { for (int i = 0; i < N; i++) { for (int j = 0; j < N; j++) { cout << A[i][j] << " "; } cout << endl; } } int main() { srand(time(NULL)); float A[N][N]; int p = 1; int n = 0; MatrixFilling(A); do { MatrixDivide(A, p, n); MatrixRemainder(A, p, n); } while (n < N); MatrixOutput(A); cout << endl; cout << p; system("pause"); return 0; }
Editor Settings
Theme
Key bindings
Full width
Lines