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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
sur_oviy
0 / 0 / 0
Регистрация: 25.10.2012
Сообщений: 4
#1

Преобразовать матрицу к треугольному виду - C++

01.12.2012, 15:28. Просмотров 320. Ответов 0
Метки нет (Все метки)

Здравствуйте! Я конечно понимаю, что данная тема поднималась ни раз, но все же, большинство кодов не работает
Помогите кто может
Вот что-то накопал, но вроде есть ошибки
C++ (Qt)
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
#include <iostream.h>
#include <conio.h>
#include <math.h>
const int n=4;  ///размерность системы, если 3 уравнеия то матрица 3*4, если 4, то 4*5
double y[n];   
double par,s,r[n];
int i,j,ii,k,jj,t=1;
 
double a[n][n+1]={{0.060, 0.048, 0.700, 0.550, 5.458},   ///матрица коеффициентов, где последний столбец - правая часть уравнения/системы
             {0.020, 0.333, 0.080, 0.300, 3.460}, ///сюда вводиш коеф-ты, т.е если 2x то водиш 2, иксы - 1-й столбец, y- 2 столбец...
             {1.250, 0.400, 0.092, 0.248, 18.515},
             {0.034, 0.650, 0.067, 0.300, 5.478}};
 
void main()
{
 for (j=0;j<n-1;j++)
 {
  if (a[j][j]==0)
  {
   ii=j+1;
 do
 {
  if((a[ii][j]!=0)||(ii==n-1))
  {
   break;
  }
 ii++;             ////проверки деления на 0
}
 while(1);
 
if((a[ii][j]==0)&&(ii==n-1))
{
 t=0;
};
 
for(k=0;k<n;k++)
{
 r[k]=a[j][k];
 
 a[j][k]=a[ii][k];
 
 a[ii][k]=r[k];
}}
 
for (i=j+1;i<n;i++)
{
 if(a[i][j]!=0)           /////прямой ход
 {
  par=a[i][j]/a[j][j];
 
 for (jj=j;jj<n+1;jj++)
 {
  a[j][jj]=a[j][jj]*par;
 
  a[i][jj]=a[i][jj]-a[j][jj];
 
  a[j][jj]=a[j][jj]/par;    
 }
}}}
 
 for (i=0;i<n;i++)
 {
  if (a[i][i]==0)
  {
   t=0;
  };
 }
 
 if (t!=0)
 {
  y[n-1]=a[n-1][n]/a[n-1][n-1];
  for (i=n-2;i>=0;i--)             ////обратный ход
  {
   j=n-1;                            
   s=a[i][j]*y[j];
  for (j=n-2;j>0;j--)
  {
   if (j!=i)
   { 
    s=s+a[i][j]*y[j];
  }}
   y[i]=(a[i][n]-s)/a[i][i];
  }
 
 for(i=0;i<n;i++)
 {
  cout<<y[i]<<endl;
 }}
  else
 
 cout<<"opredelitel=0"<<endl;
 getch();
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.12.2012, 15:28     Преобразовать матрицу к треугольному виду
Посмотрите здесь:

Задача: привести матрицу к треугольному виду - C++
Блин, я никак не разберусь, может тут кто знает? Задание: Дана квадратная матрица размера m*n. С помощью допустимых преобразований...

Двумерные массивы (СЛАУ). Привести систему к треугольному виду - C++
Коэффициенты системы линейных уравнений заданы в виде прямоугольной матрицы.С помощью допустимых преобразований привести систему к...

Преобразовать многочлен к нормальному виду - C++
Приведение подобных. Многочлен произвольного вида с одним неизвестным задан символьной строкой. Неизвестное выражение представлено одной...

Получить матрицу, приведенную к блочно-диагональному виду - C++
Помогите написать программу на си!!!!! Пожалуйста!!!! Или, хотябы, какие-то ее фрагменты, которые можете.... Плиииииз(((( Пусть у нас...

Преобразовать матрицу - C++
Дана действительная квадратная матрица порядка n. Преобразовать матрицу по правилу: строку с номером n сделать столбцом с номером n, а...

Преобразовать матрицу в стринг - C++
Ввести символьную матрицу. Преобразовать матрицу в стринг. Найти длину стринга. #include &lt;iostream&gt; #include &lt;string&gt; #include...

Преобразовать исходную матрицу C++ - C++
Преобразовать исходную матрицу так, чтобы первый элемент каждой строки был заменен средним арифметическим элементов этой строки

Преобразовать односвязный список в матрицу - C++
Как преобразовать односвязный список в матрицу?

Преобразовать матрицу согласно условию - C++
Помогите плииз с задачкой!=) Дана целочисленная матрица размера n x m, целые числа k, l (1 ≤ k ≤ n, 1 ≤ l ≤ n, k ≠ l). Преобразовать...

Преобразовать матрицу. Вхождение в область - C++
Доброе время суток! Помогите пожалуйста, хоть чем.. подсказкой какой или ссылкой. Мне через 5 часов их сдать надо, а я не знаю как их...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru