Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/47: Рейтинг темы: голосов - 47, средняя оценка - 4.91
0 / 0 / 0
Регистрация: 12.10.2020
Сообщений: 202

Код для вычисления определителя матрицы 3х3

19.10.2020, 11:36. Показов 10235. Ответов 7
Метки c++ (Все метки)

Студворк — интернет-сервис помощи студентам
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
using namespace std;
 
void print_matr() {
    
    const int a = 3;
    const int b = 3;
    int arr[a][b];
     
    for(int i = 0; i < a; i++)  {
      for (int j =0; j < b; j++) 
        cout << mas[i][j] << " ";
    cout << endl;
  }
}
Задача: Задана квадратная матрица 3x3. Посчитать определитель матрицы, и вывести результат.

Проблема в том, что у нас не было занятий, но нужно сделать это за пару часов. Я мало что знаю в данном ЯП. Искала что-то на просторах интернета, но везде указатели (не проходили), либо другие языки... Помогите разобраться с написанием программы.
То, что представлено выше - единственное, что я смогла из себя сейчас выдавить
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
19.10.2020, 11:36
Ответы с готовыми решениями:

Код вычисления определителя матрицы до 10-го порядка
Мне очень нужен код программы для вычисления определителя матрицы до 10-го порядка.

Написать функцию для вычисления определителя матрицы
Нужна функция для вычисления ОПРЕДЕЛИТЕЛЯ матрицы, аргументами которой будет количество строк в матрице N и сама матрица. п.с. или ссылку...

Создать функцию для вычисления определителя матрицы 2х2
Создать функцию для вычисления определителя матрицы 2х2. (в C++) HELP ME PLEASE

7
Модератор
 Аватар для long399
2882 / 1836 / 933
Регистрация: 16.10.2013
Сообщений: 5,240
Записей в блоге: 15
19.10.2020, 11:49
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
int main() {
    double mtrx[3][3] = {
        {2., 5., -3.},
        {1., 4., -2.},
        {-7., 3., 0.}
    };
    double d = 0; // определитель
    
    // находим по правилу треугольника
    d = mtrx[0][0]*mtrx[1][1]*mtrx[2][2] + mtrx[0][1]*mtrx[1][2]*mtrx[2][0]
    + mtrx[1][0]*mtrx[2][1]*mtrx[0][2] - mtrx[2][0]*mtrx[1][1]*mtrx[0][2] -
    mtrx[2][1]*mtrx[1][2]*mtrx[0][0] - mtrx[1][0]*mtrx[0][1]*mtrx[2][2];
    
    std::cout << "determinant = " << d;
    return 0;
}
0
 Аватар для palva
4272 / 2966 / 691
Регистрация: 08.06.2007
Сообщений: 9,916
Записей в блоге: 4
19.10.2020, 11:54
Проще всего без всяких циклов написать выражение.
C++
1
2
det = a[0][0]*a[1][1]*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]-a[0][1]*a[1][0]*a[2][2]-a[0][0]*a[1][2]*a[2][1];
Тип у det и a возможно стоит взять не int а double. Вы подумайте на эту тему.

Добавлено через 1 минуту

Не по теме:

Ну вот, нас уже двое. Ждем третьего.

2
0 / 0 / 0
Регистрация: 12.10.2020
Сообщений: 202
19.10.2020, 12:12  [ТС]
нам нужна программа с рандомными числами

Добавлено через 1 минуту
я нашла чужую программу с вычислением array[100][100] и стараюсь переделать под себя, шагами понимая всю программу

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
#include <iostream>
#include <ctime>
using namespace std;
 
int Determinant(int array[3][3], int size)
{
     return array[0][0] * (array[1][1] * array[2][2] - array[1][2] * array[2][1])    //нахождение определителя по минорам квадратичной матрицы
     - array[0][1] * (array[1][0] * array[2][2] - array[1][2] * array[2][0]) 
     + array[0][2] * (array[1][0] * array[2][1] - array[1][1] * array[2][0]);
}
 
int main()
{
    srand(time(0));
    int array[3][3];
    int size = 3;
    cout << array[3][3] << " ";
    cout << endl;
    for(int i=0; i<size; i++)
        for(int j=0; j<size; j++)
            array[i][j] = rand() % 10;
    for(int i=0; i<size; i++)
    {
        for(int j=0; j<size; j++)
        {
            cout << "    " << array[i][j];
        }
        cout << endl;
    }
    cout << "Determinant: " << Determinant(array, size);
    cout << endl;
    system("pause");
    return 0;
вот я тут уже немного переделала и хотела бы задать вам вопрос: зачем вот простым языком нужно srand(time(0));
0
Модератор
 Аватар для long399
2882 / 1836 / 933
Регистрация: 16.10.2013
Сообщений: 5,240
Записей в блоге: 15
19.10.2020, 12:14
Цитата Сообщение от konamityan Посмотреть сообщение
зачем вот простым языком нужно srand(time(0));
чтобы каждый раз генерировалась новая матрица.
1
0 / 0 / 0
Регистрация: 12.10.2020
Сообщений: 202
19.10.2020, 12:23  [ТС]
почему после изменений, в консоли, в начале результата, выводится какое-то рандомное длинное непонятное число. что нужно исправить?

пример вывода:
-1379309152
7 0 3
4 1 9
7 1 3
Determinant: -51
sh: 1: pause: not found
0
 Аватар для palva
4272 / 2966 / 691
Регистрация: 08.06.2007
Сообщений: 9,916
Записей в блоге: 4
19.10.2020, 12:48
Цитата Сообщение от konamityan Посмотреть сообщение
почему после изменений, в консоли, в начале результата, выводится какое-то рандомное длинное непонятное число. что нужно исправить?
Нужно убрать этот вывод, который выводит мусор.
C++
1
2
cout << array[3][3] << " ";
cout << endl;
1
0 / 0 / 0
Регистрация: 12.10.2020
Сообщений: 202
19.10.2020, 12:53  [ТС]
хэй, помогите, пожалуйста
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
19.10.2020, 12:53
Помогаю со студенческими работами здесь

Код для нахождения определителя матрицы N на N исключением строки и столбца
Подскажите пожалуйста код для нахождения определителя матрицы N на N исключением строки и столбца

Класс Матрица2х2 и методы для транспонирования матрицы и для вычисления определителя матрицы. Создайте net приложение
Очень прошу помочь с решением задачи. Заранее огромное спасибо! Объявите класс Матрица2х2 и определите методы для транспонирования...

Разработать функцию для вычисления определителя матрицы
разработать функцию для вычисления определителя матрицы порядка n (1&lt;=n&lt;=20)

Программирование модуля для вычисления определителя матрицы
Создать модуль вычисления определителя матрицы.

Создать компонент для вычисления определителя матрицы
Здравствуйте!Представляю данную задачу для людей скучающим по вечерам:Создать компонент для вычисления определителя матрицы. P.S.При...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru