Форум программистов, компьютерный форум, киберфорум
Наши страницы

Гаусс для коллекции - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ malloc - cannot convert from 'void *' to 'double *' http://www.cyberforum.ru/cpp-beginners/thread104777.html
Здравствуйте. У меня тут текст программы для дискретного преобразования Фурье. Проблему составляют строчки, где есть комменты . Я смотрел в описании функции, вроде всё правильно.Но MS Visual St 2008...
C++ Перегрузка оператора вывода на консоль для шаблонного класса Следующий код компилируется, но не линкуется: #include <iostream> using namespace std; template <typename T> class A { public: A() : elem (0) {} http://www.cyberforum.ru/cpp-beginners/thread104761.html
C++ Структуры, массивы, сортировка
Люди Help! Уже второй день сижу над задачей и не могу понять в чём проблема. Задача такая: 1) Описать структуру с именем TRAIN, содержащую следующие поля: -название пункта назначения -номер поезда...
Создать класс время с полями: час(0-23), минута (0-59), секунда (0-59) C++
Создать класс время с полями: час(0-23), минута (0-59), секунда (0-59). В классе описать конструктор, а также функции-члены установки времени, получения часа, минуты и секунды, а также две функции...
C++ Нужна программа-код в Borlande C++ по созданию графика ф-ии http://www.cyberforum.ru/cpp-beginners/thread104714.html
Возникла сложность с написание кода и созданием формы такой программы. Кто сможет, подскажите пожалуйста, оч нужно!! Заранее, спасибо! ) Задача: 1. Постройте график функции y(x)= Ysin^2 ωx...
C++ Файл. Ввод/вывод. нуждаюсь в вашей помощи. создать входной файл из нескольки строк символов. создать выходной файл в который записать 3 строчку с входного и защитить от дальнейшей записи(тут я полагаю поставить... подробнее

Показать сообщение отдельно
taras atavin
3570 / 1753 / 91
Регистрация: 24.11.2009
Сообщений: 27,619

Гаусс для коллекции - C++

16.03.2010, 04:57. Просмотров 14651. Ответов 13
Метки (Все метки)

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
double abs(double x)
{
 if (x<0)
 {
  return -x;
 }
 return x;
}
void Gauss(double *a, double *b, double *&x, unsigned short int n) // а - матрица коэффициентов, строки подряд, b - свободные члены, x - решение.
{
 unsigned hort int i,j,k,t;
 double kof,s;
 if (x) // Если какой-то вектор решений уже дан
 {
  delete [] x; // Сотрём его нафиг!
 }
 for (i=n-1; i>0; --i) // Цикл по уравнениям - вычитаемым
 {
  for (t=i, j=i-1; j>=0; --j) Ищем строку с максимальным в i-том столбце коэффициентом.
  {
   if (abs(a[i+t*n])<abs(a[i+j*n])
   {
    t=j;
   }
  }
  if (a[i+t*n]==0.0)
  {
   return;
  }
  if (t!=i) // Если она не i-тая
  {
   for (k=n-1; k>=0; --k) // Меняем её с i-той
   {
    a[k+t*n]&=a[k+i*n];
    a[k+i*n]&=a[k+t*n];
    a[k+t*n]&=a[k+i*n];
   }
  }
  for (j=i-1; j>=0; --j) // Цикл пл уравнениям-уменьшаемым
  {
   kof=a[i+j*n]/a[i+i*n]; // kof=a[j][i]/a[i][i];
   for (a[i+j*n]=0.0, b[j]-=b[i]*kof, k=i-1; k>=0; --k) // Цикл по столбцам
   {
    a[k+j*n]-=a[k+i*n]*kof; // a[k][j]-=a[k][i]*kof
   }
  }
 }
 x=new double [n];
 if (x)
 {
  for (i=0; i<n; ++i)
  {
   for (s=0.0, j=i-1, j>=0; --j)
   {
    s+=a[j+i*n]*x[j]; //s+=a[j][i]*x[j]
   }
   x[i]=(b[i]-s)/a[i+i*n]; // x[i]=(b[i]-s)/a[i][i];
  }
 }
}
Добавлено через 16 часов 59 минут
Решенная здесь задача.
Дано: матрица a коэффициентов системы уравнений в в виде линерализованного массива (a[0][0], a[1][0], a[2][0]... a[n-1][0], a[0][1], a[1][1], a[2][1]...a[n-1][1], a[0][2], a[1][2], a[2][2]...a[n-1][2]...a[0][n-1], a[1][n-1], a[2][n-1]...a[n-1][n-1]), вектор-столбец b свободных членов той же системы уравнений и число уравнений. Матрица квадратная, число элементов вектора равно числу строк матрицы. Система эквивалентна матричному уравнению a*x=b. Требуется найти: вектор x решений системы уравнений. Если система не имеет однозначного решения, вернуть пустой указатель на массив x.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru