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

Вычислить определитель треугольной матрицы - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 8, средняя оценка - 4.88
kristinia
0 / 0 / 0
Регистрация: 15.12.2012
Сообщений: 23
05.04.2013, 13:06     Вычислить определитель треугольной матрицы #1
Нужно вычислить определитель треугольной матрицы. на си, vstudio
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.04.2013, 13:06     Вычислить определитель треугольной матрицы
Посмотрите здесь:

Определитель Матрицы C++
C++ Вычислить определитель квадратной матрицы
Найти определитель матрицы C++
Вычислить определитель матрицы 3х3 C++
C++ Вычислить определитель квадратной матрицы третьего порядка
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Peps
 Аватар для Peps
8 / 8 / 3
Регистрация: 14.11.2012
Сообщений: 75
05.04.2013, 14:37     Вычислить определитель треугольной матрицы #2
C++
1
2
3
4
5
6
7
int x[a][b];
        for (i = 0; i < a; i++) {
           for (j = 0; j < b; j++) {
              s =s*x[i][j];
           }
        }
    return 0;
palva
 Аватар для palva
2373 / 1595 / 190
Регистрация: 08.06.2007
Сообщений: 6,364
Записей в блоге: 4
05.04.2013, 14:59     Вычислить определитель треугольной матрицы #3
C
1
2
3
int x[n][n];
s = 1.0;
for (i = 0; i < n; i++) s *= x[i][i];
hofmn
Helter Skelter
 Аватар для hofmn
61 / 61 / 1
Регистрация: 19.09.2012
Сообщений: 133
05.04.2013, 15:41     Вычислить определитель треугольной матрицы #4
Простейший способ:
C++
1
2
3
int det   = A[0][0] * A[1][1] * A[2][2] - A[0][0] * A[1][2] * A[2][1]
          - A[0][1] * A[1][0] * A[2][2] + A[0][1] * A[1][2] * A[2][0]
          + A[0][2] * A[1][0] * A[2][1] - A[0][2] * A[1][1] * A[2][0];
Ternsip
 Аватар для Ternsip
660 / 188 / 6
Регистрация: 10.05.2012
Сообщений: 595
05.04.2013, 16:34     Вычислить определитель треугольной матрицы #5
hofmn, Вы написали частный случай для матрицы 3x3 + которая не обязательно треугольная и по этому вы сделаете ещё и лишних действий. Для нахождения определителя треугольный матрицы достаточно взять произведение элементов на главной диагонали.
C++
1
2
3
4
int a[nmax][nmax];
int ans = 1;
for (int i = 0; i < n; i++)
    ans *= a[i][i];
kristinia
0 / 0 / 0
Регистрация: 15.12.2012
Сообщений: 23
06.04.2013, 00:38  [ТС]     Вычислить определитель треугольной матрицы #6
Скажите, почему он пишет error C2065: nmax: необъявленный идентификатор ? как его объявить?
MarVaL
С++ Beginner
 Аватар для MarVaL
116 / 116 / 16
Регистрация: 28.02.2013
Сообщений: 246
06.04.2013, 00:41     Вычислить определитель треугольной матрицы #7
Цитата Сообщение от kristinia Посмотреть сообщение
Скажите, почему он пишет error C2065: nmax: необъявленный идентификатор ? как его объявить?
C++
1
const int nmax = 3;
kristinia
0 / 0 / 0
Регистрация: 15.12.2012
Сообщений: 23
06.04.2013, 09:35  [ТС]     Вычислить определитель треугольной матрицы #8
Подскажите, как эти объявить) warning C4101: i: неиспользованная локальная переменная, warning C4700: использована неинициализированная локальная переменная "n"
MarVaL
С++ Beginner
 Аватар для MarVaL
116 / 116 / 16
Регистрация: 28.02.2013
Сообщений: 246
06.04.2013, 10:05     Вычислить определитель треугольной матрицы #9
Попробуй так, если visual studio:
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
#include "stdafx.h"
#include <iostream>
#include <cstdlib>
#include <ctime>
 
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL, "RUS");
    srand(time(0));
    const int n = 3;
    int matrix[n][n];
 
    for(int i = 0; i < n; ++i)
        for(int j = 0; j < n; ++j)
            matrix[i][j] = rand()%3+1;
 
    for(int i = n - 1; i > 0; --i)
        for(int j = i - 1; j >=0 ; --j)
            matrix[i][j] = 0;
 
    for(int i = 0; i < n; cout << endl, ++i)
        for(int j = 0; j < n; ++j)
            cout << matrix[i][j] << ' ';
 
    int det = 1;
    for(int i = 0; i < n; ++i)
        det *= matrix[i][i];
 
    cout << "Определитель матрицы: " << det << endl;
 
    system("pause");
    return 0;
}
kristinia
0 / 0 / 0
Регистрация: 15.12.2012
Сообщений: 23
07.04.2013, 09:44  [ТС]     Вычислить определитель треугольной матрицы #10
Это, конечно, классно. Но матрицу должна вводить я, а он сразу выдает
MarVaL
С++ Beginner
 Аватар для MarVaL
116 / 116 / 16
Регистрация: 28.02.2013
Сообщений: 246
07.04.2013, 19:31     Вычислить определитель треугольной матрицы #11
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от kristinia Посмотреть сообщение
Это, конечно, классно. Но матрицу должна вводить я, а он сразу выдает
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
// Вычисление определителя треугольной матрицы
//
 
#include "stdafx.h"
#include <iostream>
#include <cstdlib>
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL, "RUS");
    const int n = 3;
    int matr[n][n];
    std::cout << "Введите матрицу:" << std::endl;
 
    for(int i = 0; i < n; ++i)
        for(int j = 0; j < n; ++j)
            std::cin >> matr[i][j];
 
    std::cout << "Введённая матрица: " << std::endl;
    for(int i = 0; i < n; std::cout << std::endl, ++i)
        for(int j = 0; j < n; ++j)
            std::cout << matr[i][j] << ' ';
 
    for(int i = n - 1; i > 0; --i)
        for(int j = i - 1; j >= 0; --j)
            matr[i][j] = 0;
 
    std::cout << "Треугольная матрица: " << std::endl;
    for(int i = 0; i < n; std::cout << std::endl, ++i)
        for(int j = 0; j < n; ++j)
            std::cout << matr[i][j] << ' ';
    std::cout << std::endl;
    
    int det = 1;
    for(int i = 0; i < n; ++i)
        det *= matr[i][i];
    std::cout << "Определитель треугольной матрицы: " << det << std::endl;
    
    system("pause");
    return 0;
}
ritmix10
2 / 2 / 0
Регистрация: 04.02.2013
Сообщений: 92
07.04.2013, 19:37     Вычислить определитель треугольной матрицы #12
ну так сделай так:
задашь размер матрицы
C++
1
2
int n;
cin>>n;
или ты хочешь сама руками в консоле матрицу заполнить?
kristinia
0 / 0 / 0
Регистрация: 15.12.2012
Сообщений: 23
07.04.2013, 22:03  [ТС]     Вычислить определитель треугольной матрицы #13
Спасибо, Марвел! Это гениально, мне бы ваш мозг) Вы не могли бы пояснить что такое setlocale(LC_ALL, "RUS");
C++
1
2
std::cout << "Введите матрицу:" << std::endl;
 std::cin >> matr[i][j];
и что такое det
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.04.2013, 22:40     Вычислить определитель треугольной матрицы
Еще ссылки по теме:

C++ Определитель матрицы - нужен полноценный пример
C++ КуР-алгоритм поиска собственных значенийдля почти треугольной матрицы!
Найти определитель матрицы C++

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

Или воспользуйтесь поиском по форуму:
MarVaL
С++ Beginner
 Аватар для MarVaL
116 / 116 / 16
Регистрация: 28.02.2013
Сообщений: 246
07.04.2013, 22:40     Вычислить определитель треугольной матрицы #14
C++
1
setlocale(LC_ALL, "RUS")
Включает кириллицу в консоли
C++
1
std::cout
Объект класса ostream, для вывода строки "Введите матрицу"
C++
1
<<
Оператор вставки в поток
C++
1
std::cin
Объект класса istream, используется для считывания
C++
1
>>
Оператор извлечения из потока
C++
1
std::endl
Манипулятор endl, от end of line, для перехода на новую строку
C++
1
matr[i][j]
i-тый, j-тый элемент двумерного массива(матрицы)
C++
1
det
Переменная для хранения детерминанта, произведения главной диагонали треугольной матрицы.
Yandex
Объявления
07.04.2013, 22:40     Вычислить определитель треугольной матрицы
Ответ Создать тему
Опции темы

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