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

Преобразование матрицы до верхнетреугольной и нижнетреугольной методом Гаусса - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Идентификаторы списка в качестве аргументов функции http://www.cyberforum.ru/cpp-beginners/thread897811.html
Хочу организовать поиск по списку с помощью функции, в которую бы передавались: поле, по которому искать (собсно какая-то переменная из списка) и значение, которое искать. Никак не могу понять, как такое притворить в жизнь?
C++ Из текста выбрать числа и записать в массив Из текста выбрать числа и записать в массив. Предполагается, что количество встречающихся чисел не более 10. http://www.cyberforum.ru/cpp-beginners/thread897804.html
Строки, нужно подправить код C++
Есть задание : Из заданной последовательности слов удалить слова, содержащие числа. и я написал данный код: Код: #include <iostream> #include <list> #include <string>
C++ Неправильный рандом
Здравствуйте. Программа должна заполнять массив случайными, не повторяющимися элементами. Однако не смотря на то что максимальное значение случайных элементов было задано 50, массив заполняется любыми числами, в том числе и очень большими. Как это исправить? int a,i,j,b; bool flag; for(i=0;i<20;i++) { flag=false; b=rand()%50; for (j=0;j<=i;j++) {...
C++ Класс Sentence и сортировка строки по алфавиту http://www.cyberforum.ru/cpp-beginners/thread897776.html
#include <stdio.h> #include <conio.h> #include <string.h> #include <iostream.h> class Sentence { public: char *str; Sentence(char *p); char* sort();
C++ Рекурсия. Составьте программу, которая для заданных значений n и m, определит номер оставшегося в кругу человека Пусть n человек встали в круг и получили номера от 1 до n по часовой стрелке. Затем, начиная с первого, по часовой стрелке отсчитывается m человек. Этот m–й человек выходит из круга, после чего, начиная со следующего, снова отсчитывается m–й человек. Так продолжается до тех пор, пока не останется один человек. Составьте программу, которая для заданных значений n и m, определит номер оставшегося... подробнее

Показать сообщение отдельно
cUnnIngFox
Сообщений: n/a

Преобразование матрицы до верхнетреугольной и нижнетреугольной методом Гаусса - C++

10.06.2013, 20:35. Просмотров 694. Ответов 0
Метки (Все метки)

Привет! Нужна помощь в преобразовании матрицы до нижнетреугольной методом Гаусса. Преобразование до верхнетреугольной вышло, со вторым проблемы. Прошу помочь.
Код преобразования до верхнетреугольной прилагаю, среда c++ Builder 6:
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
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
int main(int argc, char* argv[])
{
 float **A, **Ar, *B, *Br, *X, *r, kf, temp; int i,j,k=0,n; bool w=true;
 printf("Razmernost: ");
 cin>>n;
 A= (float **)malloc(n*sizeof(float));
 B= (float *)malloc(n*sizeof(float));
 X= (float *)malloc(n*sizeof(float));
 r= (float *)malloc(n*sizeof(float));
 Ar=(float **)malloc(n*sizeof (float));
 Br=(float *)malloc(n*sizeof(float));
 
 //ввели матрицу А
 while(w!=false)
   {
      printf("Vvod matrici A: \n");
      for(i=0;i<n;i++)
        {
          A[i]=(float *)malloc(n*sizeof(float));
          Ar[i]=(float *)malloc(n*sizeof(float));
          for(j=0;j<n;j++)
            {
              cin>>A[i][j];
              Ar[i][j]=A[i][j];
            }
        }
      w=false;
      for(i=0;i<n;i++)
        {
          if(A[i][i]==0)
            {
              printf("\n\n->Na diagonali estj 0!;\n->Vvedite matricu zanovo!\n\n");
              w=true;
            }
        }
   }
 
 
 printf("\n Matrica A: \n\n");
 for(i=0;i<n;i++)
   {
     for(j=0;j<n;j++)
     printf("%6.2f\t",A[i][j]);
     printf("\n\n");
   }
 
 
 
 //Ввели вектор-столбец В
 printf("Vvod matrici B: \n");
 for(i=0;i<n;i++)
   {
     cin>>B[i];
     Br[i]=B[i];
   }
 
 printf("\n Matrica B: \n\n");
 for(i=0;i<n;i++)
   {
     printf("%6.2f\t",B[i]);
     printf("\n");
   }
 getch();
 
 //Матрицы А и В, преобразованные до верхнетреугольной
  for(i=0;i<n-1;i++)
   {
     for(k=i+1;k<n;k++)
       {
         kf=A[k][i]/A[i][i];
         A[k][i]=0;
         for(j=i+1;j<n;j++)
           {
             A[k][j]=A[k][j]-kf*A[i][j];
           }
         B[k]=B[k]-kf*B[i];  
       }
   }
 
 //Выводим А и В
 printf("\n");
 printf(" Pryamoy hod \n\n");
 printf("Matrica A: \n\n");
  for(i=0;i<n;i++)
    {
      for(j=0;j<n;j++)
      printf("%6.2f\t",A[i][j]);
      printf("\n\n");
    }
 printf("Matrica B: \n\n");
  for(i=0;i<n;i++)
  printf("%6.2f\n\n",B[i]);
 getch();
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru