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

Есть ли нерекурсивный алгоритм вычисления детерминанта квадратной матрицы nxn? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Схождение ряда http://www.cyberforum.ru/cpp-beginners/thread687264.html
#include <vcl.h> #include <math.h> #include <stdio.h> #pragma hdrstop void main() { double f=1, ff=1, z, u, e, g; int n; printf ( "\n\t 123 \n"); printf ( "\n 123 \n");
C++ Структура, по строкам построить бинарное дерево поиска помогите найти ошибку в этом коде. Этот код должен по строкам построить бинарное дерево поиска #include<iostream> #include<string> using namespace std; struct tnode { string word; int count; tnode *left; tnode *right; http://www.cyberforum.ru/cpp-beginners/thread687262.html
Вычислить сумму элементов матрицы М (9х9), лежащих справа от главной диагонали (исправить ошибки 2) C++
условия таковы: Вычислить сумму элементов матрицы М (9х9), лежащих справа от главной диагонали. Мой листинг программы: #include<stdio.h> #include<stdlib.h> int main() { int summa=0; int matrix; for (int i=0;i<8;i++) {
Умножение двух матриц C++
Помогите написать перемножение двух матриц без создание третьей матрицы. Что-то написал, но не то очевидно... matrix* matrix::operator*=(const matrix &c) { int i, j, k,m; double sum; if(this->canmul(c)==false) { return this;
C++ Работа с консолью http://www.cyberforum.ru/cpp-beginners/thread687213.html
Можно ли работать с бд в конлоси. Если да то подкажите как поочерёдно лоставать из таблицы например 123 по значению Показывать его на экране и записать это значение в другую страницу
C++ Удаление всех элементов после запятой Написать программу, которая бы удаляла все элементы после запятой! Я вот написал программу, но меня смущает мигания курсора! Он должен был мигать в конце обрезанного строки, а он мигает в конце немодифицированного строки, может это и тупой вопрос, но мне интересно почему так? #include <iostream> #include <conio.h> #include <string.h> int n=10; using namespace std; int main(){ char... подробнее

Показать сообщение отдельно
Buckstabue
 Аватар для Buckstabue
175 / 124 / 6
Регистрация: 12.01.2012
Сообщений: 624
02.11.2012, 22:48     Есть ли нерекурсивный алгоритм вычисления детерминанта квадратной матрицы nxn?
Я в алгебре очень слаб. В голове есть идея вычислить детерминант по перестановкам, но в голову не приходит алгоритм перебора всех перестановок. Есть идея разложить все по первой строке, но тогда придется делать это рекурсивно до тех пор, пока не встретится определитель 2x2, что выглядит не очень красиво, хотя я вряд ли буду вычислять определители выше 6 порядка. Но хотелось бы решить это элегантно. Есть ли у кого какие наработки?
У меня пока идея такова:
Заводим double det = 0; в которой будем хранить детерминант
для каждого элемента первой строки создать стэк "вычеркиваемых" строк/столбцов и до тех пор пока размер стэка не станет равным (n-2) ложить в него самый верхний левый элемент, среди "невычеркнутых" строк/столбцов. Когда стэк станет таким, то вычисляем этот простейший определитель и прибавляем к переменной det, далее удаляем вершину стэка и пытаемся сместиться относительно новой вершины правее, так чтобы эта столбец не был "зачеркнут", если ничего не выходит, то просто удаляем вершину и делаем все это до тех пор пока стэк не опустеет и первая строка, по которой мы производим разложение, не закончится

Добавлено через 16 минут
точнее здесь вместо стэка лучше подходит список, ведь в стэке нельзя производить поиск по значению
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 06:21. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru