![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 10.04.2009
Сообщений: 7
|
![]()
Слушайте, такая задачка: есть треугольная матрица, даны её коеффициенты и правая часть(результаты) найти корни
#include <stdlib.h> #include <conio.h> #include <iostream.h> #include <math.h> void main() { clrscr(); randomize(); int a[19][20],b[20],s=0; for (int i=0;i<19;i++) { for(int j=0;j<20;j++) { a[i][j]=rand()%3; if (i>j) a[i][j]=0; if (i==j && a[i][j]==0) a[i][j]+=1; cout<<a[i][j]<<" "; } cout<<endl; } for(int n=19;n>=0;n--) { b[n]=(a[n][20]+s)/a[n][n]; s=s+a[n][n]*b[n]; } cout<<"korni:"; for (int i = 0; i < 20; i++) { cout<<" "<<b[i]; } getch(); } подкинте идейку как решить,плиз |
![]() |
![]() |
![]() |
#2 |
В тени
Старожил
Регистрация: 19.12.2008
Сообщений: 5,788
|
![]()
Как я понимаю, речь идет о системе линейных уравнений?
Почитайте про метод Гаусса-Жордана. А вот тут -> http://ru.wikipedia.org/wiki/Метод_Гаусса_—_Жордана очень понятно описан алгоритм. Сам когда-то делал эту задачу.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем. ___________________________________ ___________________________________ _______ [=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль] |
![]() |
![]() |
![]() |
#3 |
Регистрация: 10.04.2009
Сообщений: 7
|
![]()
#include <stdlib.h>
#include <conio.h> #include <iostream.h> #include <math.h> void main() { clrscr(); randomize(); int a[19][20],b[20],s=0; for (int i=0;i<19;i++) { for(int j=0;j<20;j++) { a[i][j]=rand()%3; if (i>j) a[i][j]=0; if (i==j && a[i][j]==0) while(a[i][j]==0)a[i][j]=rand()%3; cout<<a[i][j]<<" "; } cout<<endl; } for (int i=0;i<20;i++) { a[0][i]+=a[20][i]*(-a[20][20]); } cout<<endl<<endl; for (int i=0;i<19;i++) { for(int j=0;j<20;j++) { cout<<a[i][j]<<" "; } cout<<endl; } getch(); } пока так но чёт не то( Последний раз редактировалось xVeteRx; 23.04.2009 в 08:10. |
![]() |
![]() |
![]() |
#4 |
В тени
Старожил
Регистрация: 19.12.2008
Сообщений: 5,788
|
![]()
Вам нужно преобразовать матрицу к единичной.
Делайте как написано в алгоритме.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем. ___________________________________ ___________________________________ _______ [=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль] |
![]() |
![]() |
![]() |
#5 |
Регистрация: 10.04.2009
Сообщений: 7
|
![]()
Всё вродь добил РАБОТАЕТ))))
я кароч с размером матрицы чуть ошибся и у меня числа левые из памяти вызывались вот и запутался. #include <stdlib.h> #include <conio.h> #include <iostream.h> #include <math.h> void main() { clrscr(); randomize(); float a[20][21]; for (int i=0;i<20;i++) { for(int j=0;j<21;j++) { a[i][j]=rand()%100; if (i>j) a[i][j]=0; if (i==j && a[i][j]==0) a[i][j]+=1; cout<<a[i][j]<<" "; } cout<<endl; } for (int i=0;i<20;i++) { int b=a[i][i]; for(int j=0;j<21;j++) { a[i][j]=a[i][j]/b; } } for (int z=0; z < 19; z++) { for (int k = 18; k >= 0; k--) { float b=a[k-z][19-z]; for(int n=0;n<21;n++) { a[k-z][n]=a[k-z][n]-a[19-z][n]*b; } } } cout<<"korni ravni: "<<endl; for (int i = 0; i < 20; i++) { cout<<"x"<<i+1<<"="<<a[i][20]<<endl; } getch(); } сори за оформление только сделал рад безмерно)) |
![]() |
![]() |
![]() |
#6 |
Регистрация: 10.04.2009
Сообщений: 7
|
![]()
Спасиб что помог,кстат)) алгоритм пригодился)
![]() |
![]() |
![]() |
![]() |
#7 |
В тени
Старожил
Регистрация: 19.12.2008
Сообщений: 5,788
|
![]()
xVeteRx, Рад за вас )
Только оформляйте код в теги CODE. Так будет намного читабельнее. )
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем. ___________________________________ ___________________________________ _______ [=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль] |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
матрица | bonys91 | Помощь студентам | 2 | 26.03.2009 22:03 |
Матрица СИ ++ | Pasha9 | Помощь студентам | 5 | 16.03.2009 01:41 |
Матрица | Almost456 | Паскаль, Turbo Pascal, PascalABC.NET | 11 | 07.12.2008 02:04 |
Матрица =( | Gwynbleidd | Помощь студентам | 3 | 16.12.2007 23:20 |