Форум программистов, компьютерный форум CyberForum.ru

СЛАУ методом Гаусса где ведущий элемент отыскивается Среди строк и столбцов - C++

Восстановить пароль Регистрация
 
nemaster
0 / 0 / 0
Регистрация: 25.05.2013
Сообщений: 5
25.05.2013, 19:46     СЛАУ методом Гаусса где ведущий элемент отыскивается Среди строк и столбцов #1
Народ помагите немагу разобраться, написал Гауса но немагу разобраться как сделать это (где ведущий элемент отыскивается среди строк и столбцов) Вот рабочая прога.Оч нада в долгу не останусь)



C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
float det(float [20][20], int);
//___________________________________________________________________
void iskl(float a[20][20], int k, int n) //cyda peredaetsya matrica temp
{
    int i, j;
    float r, b[40];
    r=a[k][k];
    for (j=k; j<n+1; j++) a[k][j]/=r;
    for (i=k+1; i<n; i++)
    {
        r=a[i][k];
        for(j=k; j<n+1; j++) a[i][j]-=a[k][j]*r;
    }
}
//____________________________________________________________________
int _tmain(int argc, _TCHAR* argv[])
{
    int i, j, n, k;
    float a[20][20], d[20][20], b[40], temp[20][20], t, intDet;
    char anyKey;
    //____sozdanie____
    ofstream outfile("matr1.txt");
    cout<<"VVedite razmernost yravneniya: ";
    cin >> n;
    cout<<endl;
    cout<<"Vvedite postro4no matricy:"<<endl;
    for (i=0; i<(n*n+n); i++)
    {
        cin >> t;
        outfile << t <<" ";
    }
    outfile.close();
    cout<<"Poly4ennaya matrica:"<<endl;
    //_____4tinie i pe4at_____
    fstream infile("matr1.txt");
    for (i=0; i<n; i++)        //bilo n+1
    {
    cout<<endl;
    for (j=0; j<n+1; j++)
    {
        infile >> t;
        temp[i][j]=t;
        cout<<t<<" ";
    }
    }
    //_____razbivaem matricy na matrice i vecto
    //matrica
    for (i=0; i<n; i++)
    for (j=0; j<n; j++)
        a[i][j]=temp[i][j];
    //vector
//    for (i=0; i<n; i++) 
//        b[i]=temp[i][n+1];
    //___proveryaem est li reweniya
    intDet=det(a, n);
    if (intDet==0) 
    {
        cout<<"Reweniya net. ";
        goto net;
    }
    else
    {
        cout<<"Sistema rewaema )) YRA ))"<<endl;
        cout<<"det= "<<intDet;
    }
    //____pryamoi xod_______
    cout<<"Treygolnii vid:"<<endl;
    for (i=0; i<n; i++) iskl(temp, i, n);
    for (i=0; i<n; i++)
    {
        cout<<endl;
        for (j=0; j<n+1; j++) cout<<temp[i][j]<<' ';
    }
    //________obratnii xod, t.e. rewenie sistemi
    cout<<"\n";
    for (i=0; i<n+1; i++){b[i]=temp[i][n]; cout<<b[i]<<" ";}
    cout<<"\n"<<"Rewenie SLAY:"<<endl;
    for (i=n; i>-1; i--)
    {
        b[i]/=temp[i][i];
        for (j=i+1; j<n; j++)    b[i]-=b[j]*temp[i][j];
    }
    for (i=0; i<n; i++) cout<<b[i]<<" ";
net:
    cout<<"\nPress anykey to exit.";
    cin>>anyKey;
    return 0;
}
//___________________________________________
float det(float b[20][20], int n)
{
    float x,s;
    int i,j,k;
    for (i=0; i<n-1; i++)
    for (k=i+1; k<n; k++)
    { 
        x=b[k][i]/b[i][i];
        for (j=i; j<n; j++) b[k][j]=b[k][j]-b[i][j]*x; //tyt perepolnenie (((
    }
    s=1;
    for (i=0; i<n; i++) s=s*b[i][i];
    return s;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.05.2013, 19:46     СЛАУ методом Гаусса где ведущий элемент отыскивается Среди строк и столбцов
Посмотрите здесь:

Для матриц I=2P-E, где Е-единичная матрица,а Р=Р(n,n), проверить св-во I^2=Е.При помощи метода Гаусса решить СЛАУ Ix=y, где вектор состоит из единиц. C++
Решание СЛАУ методом Гаусса в С++ C++
C++ СЛАУ методом Гаусса (ведущий элемент отыскивается среди строк и столбцов)
Решение СЛАУ методом Гаусса C++
C++ СЛАУ методом Жордана-Гаусса
C++ Решение СЛАУ методом Гаусса
C++ Решение СЛАУ методом Гаусса
СЛАУ методом Гаусса C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 09:39. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru