Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.91/22: Рейтинг темы: голосов - 22, средняя оценка - 4.91
vet
175 / 176 / 55
Регистрация: 08.04.2009
Сообщений: 1,309
1

Метод Гаусса для решения СЛАУ с использованием одномерного массива

01.03.2010, 05:04. Просмотров 4060. Ответов 23
Метки нет (Все метки)

Доброго всем времени суток.
У меня есть прога для двумерного массива
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
#include <stdio.h>
#include <iostream>
#include <conio.h>
using namespace std;
void f(double an[3][3], double bn[3],int m)
{
    int i,j;
    cout << " \n";
    for (i=0;i<=m;i++)
    {
      for (j=0;j<=m;j++) cout << " " << an[i][j];
      cout << "   " << bn[i] << " \n";
    }    
}
main ()
{
    int i,j,k,l,m,n,jj,kk,j1;
    double mi,d;
    double an[3][3] = { { 81, 2, 3 },
                        { 2, 899, 3 },
                        { 2, 3, 1 } };
    double bn[3]={ 3, 4, 5 };
    double xn[3];
    m=2;
    cout.precision(18);
    f(an,bn,m);
      n=m-1;
      k=0;
      for (j=0;j<=n;j++)
    {
      l=1;
      for (i=k+1;i<=m;i++)
      {
        mi=an[k+l][k]/an[k][k];
        bn[i]=bn[i]-mi*bn[k];
        for (j1=k;j1<=m;j1++) an[k+l][j1]=an[k+l][j1]-mi*an[k][j1];
        l=l+1;
      }
      k=k+1;
    }
//    f(an,bn,m);
    xn[m]=bn[m]/an[m][m];
    k=1;
    d=0;
    for (i=n;i>=0;i--)
    {
       kk=1;
        for (jj=1;jj<=k;jj++)
        {
            d=d+an[i][i+kk]*xn[i+kk];
            kk=kk+1; 
        }
       xn[i]=(bn[i]-d)/an[i][i];
       d=0;
       k=k+1;
    }
    cout << " \n";
    cout << " \n";
    for (i=0;i<=m;i++) cout << " " << xn[i] << " \n";
    
    getch();
}
Требуется же эту задачу решить так чтобы был массив не an[N][N], а просто an[N*N] как и какие условия добавить чтобы прога решала с одномерным массивом, не добавляя никаких дополнительных двумерных массивов???
Заранее Спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.03.2010, 05:04
Ответы с готовыми решениями:

Метод Гаусса для решения СЛАУ
Здравствуйте! У меня есть алгоритм решения СЛАУ методом Гаусса, но почему-то он...

Метод Гаусса (подстановки) решения СЛАУ
Всем доброго времени суток, написал я одну недопрограмму, потому как сделал её...

Метод Гаусса решения СЛАУ с полным выбором. C++
Написал код реализующий метод Гаусса с полным выбором ведущего элемента, но...

Численное решение СЛАУ методом Гаусса с организацией хранения матрицы в виде одномерного массива
Помогите кому не сложно.

Разработать программу для решения СЛАУ методом Гаусса.
Разработать программу для решения СЛАУ методом Гаусса. вот заданный массив...

23
M128K145
Эксперт JavaЭксперт С++
8327 / 3548 / 420
Регистрация: 03.07.2009
Сообщений: 10,708
01.03.2010, 19:39 21
taras atavin, пора бы уже знать, что все побитовые операции применяются только для целочисленного типа, а вы применяете их для double, поэтому и такие ошибки появляются
0
accept
4833 / 3255 / 455
Регистрация: 10.12.2008
Сообщений: 10,569
02.03.2010, 03:22 22
Цитата Сообщение от vet
Если верить Шилдту то в С++ отсутствует оператор xor и его требуется реализовывать
C++
1
2
3
4
5
6
7
#include <iostream>
 
int main(void)
{
    std::cout << (2^5) << std::endl;  
    return 0;
}
Добавлено через 1 минуту
у меня сложилось впечатление, что Шилдт - это команда
0
M128K145
Эксперт JavaЭксперт С++
8327 / 3548 / 420
Регистрация: 03.07.2009
Сообщений: 10,708
02.03.2010, 10:03 23
Цитата Сообщение от taras atavin Посмотреть сообщение
Куда делся? & = and, ^ = xor, | = or, ! = not.
Как можно в один ряд с битовыми операциями вставить логическую? Побитовое отрицание - это ~


Цитата Сообщение от taras atavin Посмотреть сообщение
Ты вообще с++ знаешь? Там все типы превращены в классы, в том числе, все встроенные стандартные типы. На числом c int, char, double - типы, а на c++ - классы. Больше того, на c++ даже любой struct - класс
Позвольте у вас узнать, а вы сами знаете С++? На сколько мне известно, то все встроенные типы - это не классы. С++ - это не ООП язык, у него только поддержка ООП есть и не более. Вот в Java, C# да, там абсолютно все типы - это классы.
0
duska_ya
0 / 0 / 0
Регистрация: 05.05.2010
Сообщений: 3
05.05.2010, 12:46 24
А можете объяснить что мы посылаем в функцию. Очень надо знать. Массив А. Что такое double *b, double *&x?
0
05.05.2010, 12:46
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.05.2010, 12:46

Помогите написать программу для решения слау методом Гаусса
Осталось как обычно пару дней до сдачи курсовой, а она еще не готова! Помогите...

Кто сможет? Написать функцию для решения СЛАУ методом Гаусса
Кто может написать функцию для решения СЛАУ методом Гаусса используя базовые...

СЛАУ. Метод обратной матрицы, метод Гаусса, метод Крамера, метод Зейделя
Помогите ребят. Не могу построить алгоритмы для этих методов Язык C++


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

Или воспользуйтесь поиском по форуму:
24
Ответ Создать тему
Опции темы

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