Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cstdlib>
- using namespace std;
- void Kramer(double C[3][3],double D[3][1]);
- void method_cramer();
- void info_prog();
- int get_number(void);
- int main(){
- setlocale(LC_CTYPE, "UKR");
- int input;
- cout<<endl;
- cout<<'\t'<<"Виберiть варiант для продовження програми :"<<endl;
- cout<<endl;
- cout<<"1. Ввести систему Крамера"<<endl;
- cout<<"2. Про програму"<<endl;
- cout<<"4. Вивести меню"<<endl;
- cout<<"3. Вихiд"<<endl;
- cout<<endl;
- cout<<"Введiть номер >> ";
- cin>> input;
- cout<<endl;
- switch (input){
- case 1:
- method_cramer();
- break;
- case 2:
- info_prog();
- break;
- case 3:
- cin.get();
- break;
- case 4:
- cout<<" У розробцi!";
- break;
- default:
- cout<<"Ви ввели не вiрно!"<<endl;
- break;
- }
- }
- void method_cramer(void){
- setlocale(LC_ALL,"UKR");
- int i,j;
- double A[3][3],B[3][1];
- cout<<endl;
- cout<<"Введiть коефiцiєнт невiдомих x1,x2,x3 з 1-го по 3-го рiвняння :"<<endl;
- for(i=0;i<3;i++)
- for(j=0;j<3;j++)
- cin>>A[i][j];
- cout<<endl;
- cout<<"Введiть свободний член з 1-го по 3-го рiвняння :"<<endl;
- for (i=0;i<3;i++)
- cin>>B[i][0];
- cout<<endl;
- cout<<"Ваша дана система :";
- cout<<endl;
- if(A[0][1]>=0 && A[0][2]>=0)
- cout<<A[0][0]<<"x1"<<"+"<<A[0][1]<<"x2"<<"+"<<A[0][2]<<"x3"<<"="<<B[0][0]<<endl;
- if(A[0][1]>=0 && A[0][2]<0)
- cout<<A[0][0]<<"x1"<<"+"<<A[0][1]<<"x2"<<A[0][2]<<"x3"<<"="<<B[0][0]<<endl;
- if(A[0][2]>=0 && A[0][1]<0)
- cout<<A[0][0]<<"x1"<<A[0][1]<<"x2"<<"+"<<A[0][2]<<"x3"<<"="<<B[0][0]<<endl;
- if(A[0][1]<0 && A[0][2]<0)
- cout<<A[0][0]<<"x1"<<A[0][1]<<"x2"<<A[0][2]<<"x3"<<"="<<B[0][0]<<endl;
- if(A[1][1]>=0 && A[1][2]>=0)
- cout<<A[1][0]<<"x1"<<"+"<<A[1][1]<<"x2"<<"+"<<A[1][2]<<"x3"<<"="<< B[1][0]<<endl;
- if(A[1][1]>=0 && A[1][2]<0)
- cout<<A[1][0]<<"x1"<<"+"<<A[1][1]<<"x2"<<A[1][2]<<"x3"<<"="<<B[1][0]<<endl;
- if(A[1][2]>=0 && A[1][1]<0)
- cout<<A[1][0]<<"x1"<<A[1][1]<<"x2"<<"+"<<A[1][2]<<"x3"<<"="<<B[1][0]<<endl;
- if(A[1][1]<0 && A[1][2]<0)
- cout<<A[1][0]<<"x1"<<A[1][1]<<"x2"<<A[1][2]<<"x3"<<"="<<B[1][0]<<endl;
- if(A[2][1]>=0 && A[2][2]>=0)
- cout<<A[2][0]<<"x1"<<"+"<<A[2][1]<<"x2"<<"+"<<A[2][2]<<"x3"<<"="<<B[2][0]<<endl;
- if(A[2][1]>=0 && A[2][2]<0)
- cout<<A[2][0]<<"x1"<<"+"<<A[2][1]<<"x2"<<A[2][2]<<"x3"<<"="<<B[2][0]<<endl;
- if(A[2][2]>=0 && A[2][1]<0)
- cout<<A[2][0]<<"x1"<<A[2][1]<<"x2"<<"+"<<A[2][2]<<"x3"<<"="<<B[2][0]<<endl;
- if(A[2][1]<0 && A[2][2]<0)
- cout<<A[2][0]<<"x1"<<A[2][1]<<"x2"<<A[2][2]<<"x3"<<"="<<B[2][0];
- Kramer(A,B);
- }
- void Kramer(double C[3][3],double D[3][1]){
- double det,det1,det2,det3,x1,x2,x3;
- cout<<endl;
- cout<<"Находження визначникiв :"<<endl;
- det=C[0][0]*C[1][1]*C[2][2]+C[1][0]*C[2][1]*C[0][2]+C[0][1]*C[1][2]*C[2][0]-C[0][2]*C[1][1]*C[2][0]-C[1][0]*C[0][1]*C[2][2]-C[0][0]*C[2][1]*C[1][2];
- cout<<endl;
- cout<<"Визначник матрицi системи = "<<det;
- det1=D[0][0]*C[1][1]*C[2][2]+D[1][0]*C[2][1]*C[0][2]+C[0][1]*C[1][2]*D[2][0]-C[0][2]*C[1][1]*D[2][0]-D[1][0]*C[0][1]*C[2][2]-D[0][0]*C[2][1]*C[1][2];
- cout<<endl;
- cout<<"Визначник 1 = "<<det1;
- det2=C[0][0]*D[1][0]*C[2][2]+C[1][0]*D[2][0]*C[0][2]+D[0][0]*C[1][2]*C[2][0]-C[0][2]*D[1][0]*C[2][0]-C[1][0]*D[0][0]*C[2][2]-C[0][0]*D[2][0]*C[1][2];
- cout<<endl;
- cout<<"Визначник 2 = "<<det2;
- det3=C[0][0]*C[1][1]*D[2][0]+C[1][0]*C[2][1]*D[0][0]+C[0][1]*D[1][0]*C[2][0]-D[0][0]*C[1][1]*C[2][0]-C[1][0]*C[0][1]*D[2][0]-C[0][0]*C[2][1]*D[1][0];
- cout<<endl;
- cout<<"Визначник 3 = "<<det3;
- cout<<endl;
- if(det!=0){
- x1=det1/det;
- x2=det2/det;
- x3=det3/det;
- cout<<"x1 ="<<x1<<endl;
- cout<<"x2 ="<<x2<<endl;
- cout<<"x3 ="<<x3<<endl;
- }
- else
- cout<<"Система немає розв'язкiв, тому що дорiвнює 0"<<endl;
- }
- void info_prog(void){
- cout<<endl;
- cout<<"Версiя: 1.0"<<endl;
- cout<<"Автор програми: Шевчук Олександр"<<endl;
- cout<<"Авторськi права: (с) 2019"<<endl;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement