|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - [решено] Нахождение обратной матрицы методом Гаусса и рассширенной матрицы |
|
C/C++ - [решено] Нахождение обратной матрицы методом Гаусса и рассширенной матрицы
|
Новый участник Сообщения: 28 |
Профиль | Отправить PM | Цитировать Мне срочняк надо прогу нахождения обратной матрицы методом гаусса и при помощи расширенной матрицы я написал но она требует доработки а сдавать в среду
если у кого есть напишите пожалуйста заранее благодарен (иначе сессия продлится до сентября) |
|
Отправлено: 01:29, 22-06-2008 |
Будем жить, Маэстро... Сообщения: 6694
|
Профиль | Сайт | Отправить PM | Цитировать Вопрос, что делает эта строка кода: a=new float*[n]; // эта строка MatrIn(); a1=new float*[n]; // И эта строка Ошибка появляется после ввода данных, на этапе А так всё комплируется и до этой строки работает. |
------- Отправлено: 15:39, 22-06-2008 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 28
|
Профиль | Отправить PM | Цитировать Вопрос, что делает эта строка кода:
a=new float*[n]; // эта строка MatrIn(); a1=new float*[n]; // И эта строка это создается новая матрица типу float |
Отправлено: 16:04, 22-06-2008 | #12 |
Будем жить, Маэстро... Сообщения: 6694
|
Профиль | Сайт | Отправить PM | Цитировать D.Y.,
Цитата D.Y.:
|
|
------- Отправлено: 17:32, 22-06-2008 | #13 |
Будем жить, Маэстро... Сообщения: 6694
|
Профиль | Сайт | Отправить PM | Цитировать D.Y., Тогда, что делает эта строка в главной функции main()?
У меня просто у самого знаний нехватает. Эти строки не используются в программе В общем, ошибка где-то здесь: |
------- Отправлено: 18:01, 22-06-2008 | #14 |
Ветеран Сообщения: 3320
|
Профиль | Отправить PM | Цитировать D.Y., в первом посте неплохо бы было указать сразу тему с другого форума есть рабочая прога(содрана с книги) не могу понять под какую среду писалась так сказать доложить о проделанных попытках по преодолении сложности, здесь бы дублей по догадкам не было.
А книга именно так называется, может всё же полное название Языки Си С++ для решения инженерных и экономических задач? Цитата D.Y.:
|
|
Последний раз редактировалось Admiral, 22-06-2008 в 22:49. Отправлено: 22:36, 22-06-2008 | #15 |
Будем жить, Маэстро... Сообщения: 6694
|
Профиль | Сайт | Отправить PM | Цитировать |
------- Последний раз редактировалось Drongo, 23-06-2008 в 11:49. Отправлено: 23:22, 22-06-2008 | #16 |
Ветеран Сообщения: 3320
|
Профиль | Отправить PM | Цитировать Drongo, уточнял книгу и главу в которой сабж и вышел на ту тему.
http://www.google.com/search?hl=ru&c...1%83%D0%BA&lr= |
Отправлено: 02:59, 23-06-2008 | #17 |
Будем жить, Маэстро... Сообщения: 6694
|
Профиль | Сайт | Отправить PM | Цитировать ... void MatrIn() { int i, j; for(i = 0; i < n; i++){ for(j = 0; j < n; j++){ cout<<"vvedite cherez probel elementi metrici[ "<<i<<" ][ "<<j<<" ] = "; cin>>a[i][j]; } } } ... |
------- Последний раз редактировалось Drongo, 23-06-2008 в 12:49. Отправлено: 11:47, 23-06-2008 | #18 |
Новый участник Сообщения: 28
|
Профиль | Отправить PM | Цитировать а не моглибы вы прокомментировать(что в какой строке делается) программу я взял у паренька но он кудато пропал и я не пойму что в ней творится особенно в конце было задание решение СЛАУ методом Крамера #include <iostream.h> #include <stdio.h> #include <math.h> double DET (unsigned int columns); bool PROVCOL(unsigned int num, char colNum); unsigned int Column1(unsigned int num, char colNum); unsigned int Column0(unsigned int num, char colNum); double **Matrix; int n; main() { int i, j; double mainDET; cout<<"Vvedite kolichestvo uravneniy "<<endl; cin>>n; while (n > 10 || n < 1) { cout<<"Vu ne mogete vvesti bol'she 10 ili men'she 1 uravneniya, vvedite esche raz "; cin>>n; } Matrix = (double**) new double[n]; for (i=0; i<= n-1; i++) {Matrix[i] = new double[n+1];} for (i = 0; i <= n-1; i++) for (j = 0; j <= n; j++) { cout<<"Vvedite element matricu s koordinatami ("<<i<<","<<j<<") "; cin>>Matrix[i][j]; } cout<<"Vasha matrica:\n"; for (i = 0; i <= n-1; i++) {for (j = 0; j <= n; j++) cout<<Matrix[i][j]<<"\t"; cout<<endl; } mainDET = DET(pow(2,n)); if (mainDET == 0) { cout<<"Net resheniy!\n"; } else { printf ("Korni sistemu:\n"); for (i=0; i <= n-1; i++) printf ("%.3f ", -pow(-1,n+i)*DET(pow(2,i))/mainDET); printf ("\n"); } cout<<"Detrmenant sistemu raven: "<<mainDET<<endl; for (i = 0; i <= (n-1); i++) delete Matrix[i]; delete Matrix; cout<<"Vuchisleniya zakonchenu. Spasibo chto vubrali nas!\n"; return 0; } double DET (unsigned int columns) {double det = 0; int i, numCols = 0, lastFalse, cntr = 0; for (i=0; i<=n; i++) { if (PROVCOL(columns, i)) numCols++; else lastFalse = i; } if ((n - numCols) == 0) det = Matrix[n-1][lastFalse]; else for (i = 0; i <= n; i++) if (!PROVCOL(columns, i)) { columns = Column1(columns, i); det += pow(-1,(cntr))*Matrix[numCols-1][i]*DET(columns); columns = Column0(columns, i); cntr++; } return det; } bool PROVCOL(unsigned int num, char colNum) { _asm { xor eax, eax; xor ebx, ebx; mov bl, colNum; bt num, ebx; jnc none; inc eax; none: } } unsigned int Column1(unsigned int num, char colNum) { _asm { xor eax, eax; mov al, colNum; bts num, eax; } return num; } unsigned int Column0(unsigned int num, char colNum) { _asm { xor eax, eax; mov al, colNum; btr num, eax; } return num; } |
Отправлено: 15:09, 23-06-2008 | #19 |
Будем жить, Маэстро... Сообщения: 6694
|
Профиль | Сайт | Отправить PM | Цитировать D.Y., Ассемблерная вставка _asm
В остальном, чужой код комментировать трудно. Простой ещё можно, а тут, поможет только автор. Вот тут добавь строку cin>>i; иначе будет программа закрываться после выполнения |
------- Отправлено: 16:56, 23-06-2008 | #20 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Delphi - [решено] Получить адрес битовой матрицы Tcanvas | hackroute | Программирование и базы данных | 1 | 09-11-2009 22:50 | |
C/C++ - Нахождение чётных элементов в столбцах матрицы | ShadowMas | Программирование и базы данных | 9 | 04-04-2009 10:21 | |
C/C++ | Матрицы | Kuron | Программирование и базы данных | 2 | 21-01-2007 10:09 | |
c++.NET выравнивание матрицы | bezumes | Программирование и базы данных | 4 | 22-04-2006 01:20 | |
Формирование матрицы | Sergey Po | Программирование и базы данных | 3 | 28-04-2004 04:47 |
|