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

Решить систему алгебраических линейных неоднородных уравнени - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 70, средняя оценка - 4.66
Stas0n
3 / 4 / 0
Регистрация: 13.07.2011
Сообщений: 313
22.07.2011, 15:58     Решить систему алгебраических линейных неоднородных уравнени #1
У меня есть система линейных уравнений. В ней 4000 уравнений.
Киньте плиз код для её решения. Желательно, чтобы он был максимально быстрым.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Stas0n
3 / 4 / 0
Регистрация: 13.07.2011
Сообщений: 313
04.08.2011, 17:18  [ТС]     Решить систему алгебраических линейных неоднородных уравнени #61
Я и не говорю, что скорость.. время)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
grizlik78
Эксперт С++
 Аватар для grizlik78
1884 / 1416 / 102
Регистрация: 29.05.2011
Сообщений: 2,961
04.08.2011, 17:23     Решить систему алгебраических линейных неоднородных уравнени #62
Нет, и не время.
Если алгоритм1 выполняет n^3 операций, то сложность его O(n^3)
Если алгоритм2 выполняет 1000*n^2 операций, то сложность его O(n^2)
Вопрос: какой из алгоритмов быстрее (требует меньше времени на решение задачи)?
Jupiter
Каратель
Эксперт C++
6543 / 3963 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
04.08.2011, 22:01     Решить систему алгебраических линейных неоднородных уравнени #63
grizlik78, 1-й ?
grizlik78
Эксперт С++
 Аватар для grizlik78
1884 / 1416 / 102
Регистрация: 29.05.2011
Сообщений: 2,961
04.08.2011, 22:19     Решить систему алгебраических линейных неоднородных уравнени #64
Так ведь от n зависит.
Для n < 1000 первый, для n > 1000 второй.
Stas0n
3 / 4 / 0
Регистрация: 13.07.2011
Сообщений: 313
05.08.2011, 12:02  [ТС]     Решить систему алгебраических линейных неоднородных уравнени #65
to Юра: скоро запущу прогу на шустрой машине.. посмотрим, что из этого выйдет)

Добавлено через 19 минут
Нароод! помогиет!!
Надо считать столбец свободных членов системы.
Решил просто проверить как работает. Считываю, записываю в массив, вывожу. Вот код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 int range;
    cin >> range;
    // Colum of free members
    double *free = new double[range];
    ifstream ifsf("B.txt");
    double q;
    int i = 0;
    int j = 0;
    while ( ifsf >> free[i] )
    {
        i++;
    }
    ifsf.close();
    ofstream ofs("B-0.txt");
    for ( int i = 0; i < range; i++ )
    {
        ofs << free[i] << endl;
    }
    ofs.close();
-=ЮрА=-
Заблокирован
Автор FAQ
05.08.2011, 12:35     Решить систему алгебраических линейных неоднородных уравнени #66
Цитата Сообщение от hello19 Посмотреть сообщение
int i = 0;
Цитата Сообщение от hello19 Посмотреть сообщение
for ( int i = 0; i < range; i++ )
двойное объявление переменных, компилятор не ругался, сейчас запущу твой код, хотя имя для массива free мне ой как не нравиться, лучше не давать переменным названия аналогичные именам стандартных функций
Stas0n
3 / 4 / 0
Регистрация: 13.07.2011
Сообщений: 313
05.08.2011, 12:38  [ТС]     Решить систему алгебраических линейных неоднородных уравнени #67
Проблема не в переменных(

Добавлено через 39 секунд
Во время отладки - совершенно не заходит в while(((

Добавлено через 13 секунд
На самом деле довольно часто с этим сталкиваюсь
PointsEqual
ниначмуроФ
 Аватар для PointsEqual
832 / 516 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
05.08.2011, 12:53     Решить систему алгебраических линейных неоднородных уравнени #68
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
двойное объявление переменных, компилятор не ругался
и не будет, вторая i живет только в цикле.
-=ЮрА=-
Заблокирован
Автор FAQ
05.08.2011, 12:58     Решить систему алгебраических линейных неоднородных уравнени #69
Твои данные в В.txt представлены не в том виде...

Добавлено через 29 секунд
Цитата Сообщение от PointsEqual Посмотреть сообщение
и не будет, вторая i живет только в цикле.
Будет, компилятор поменяй...
Stas0n
3 / 4 / 0
Регистрация: 13.07.2011
Сообщений: 313
05.08.2011, 12:59  [ТС]     Решить систему алгебраических линейных неоднородных уравнени #70
Что значит представлены не в том виде?? там просто столбец чисел.. считываю их как даблы..
-=ЮрА=-
Заблокирован
Автор FAQ
05.08.2011, 13:07     Решить систему алгебраических линейных неоднородных уравнени #71
Цитата Сообщение от hello19 Посмотреть сообщение
Во время отладки - совершенно не заходит в while(((
- а совсем забыл, код вот так должен выглядеть, увидишь что из за неправельного представления данных
C++
1
ifsf>>mass[i];
не инициализирует mass
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
#include <iostream.h>
#include <fstream.h>
 
int main()
{
    int range;
    cin >> range;
    // Colum of free members
    double *mass = new double[range];
    ifstream ifsf("B.txt");
    int i = 0;
    int j = 0;
    while (i < range)
    {
        ifsf>>mass[i];
        cout<<mass[i]<<"\r\n";
        i++;
    }
    ifsf.close();
 
    ofstream ofs("B-0.txt");
    for (j = 0; j < range; j++ )
        ofs<<mass[i]<<"\r\n";
    ofs.close();
    return 0;
}
Добавлено через 4 минуты
Цитата Сообщение от hello19 Посмотреть сообщение
Что значит представлены не в том виде?? там просто столбец чисел.. считываю их как даблы..
Если В был записан в двоичном режиме то есть разница

Добавлено через 2 минуты
hello19, чем тебе не угодил мой строковый вариант считывания, он лишён геморов связанных с режимом записи файла?
Stas0n
3 / 4 / 0
Регистрация: 13.07.2011
Сообщений: 313
05.08.2011, 13:29  [ТС]     Решить систему алгебраических линейных неоднородных уравнени #72
Что то не работает((

Добавлено через 2 минуты
Кстати, проверил решение с помощью матпакета... вообщем оно не правильное/))))

Добавлено через 5 минут
Думаю сейчас посмотреть код, который кидал ..эээ.. какой-то товарись несколько постов назад... посмотрим что из этого выйдет.
PointsEqual
ниначмуроФ
 Аватар для PointsEqual
832 / 516 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
05.08.2011, 13:34     Решить систему алгебраических линейных неоднородных уравнени #73
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
Будет, компилятор поменяй...
почему будет то?
Stas0n
3 / 4 / 0
Регистрация: 13.07.2011
Сообщений: 313
05.08.2011, 13:45  [ТС]     Решить систему алгебраических линейных неоднородных уравнени #74
to PointsEqual : предложи код, который нормально считывает...
а вообще я так дальше матрицу считываю... точно таким же методом...
bambino
 Аватар для bambino
193 / 19 / 4
Регистрация: 05.08.2010
Сообщений: 229
05.08.2011, 13:48     Решить систему алгебраических линейных неоднородных уравнени #75
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
Будет, компилятор поменяй...
Не будет! Мозги себе поминяй, ага.
Stas0n
3 / 4 / 0
Регистрация: 13.07.2011
Сообщений: 313
05.08.2011, 13:52  [ТС]     Решить систему алгебраических линейных неоднородных уравнени #76
ЭЭ, парни.. заканчивайте..
предложите лучше как делу помочь...
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
    int range;
    cout << "Please enter tne range os ypur system" << endl;
    cin >> range;
    // Colum of free members
    double *free = new double[range];
    ifstream ifsf("B.txt");
    double q;
    int i = 0;
    int j = 0;
    while ( i < range )
    {
        ifsf >> free[i];
        i++;
    }
    ifsf.close();
    ofstream ofs("B-0.txt");
    for ( int w = 0; w < range; w++ )
    {
        ofs << free[w] << endl;
    }
    ofs.close();
Самое забавное то, что точно такое же считывание работает, когда я считываю матрицу:
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
    int range;
    cout << "Please enter tne range os ypur system" << endl;
    cin >> range;
 
    // Allocate main matrix
    double **matrix = new double*[range];
    for (int i = 0; i < range; i++) 
    {
        matrix[i] = new double[range];
    }
 
    // adjacency matrix
    double **matrix2 = new double*[range];
    for (int i = 0; i < range; i++) 
    {
        matrix2[i] = new double[range];
    }
    // reading matrix from file
    ifstream ifs("A.txt");
 
    while ( ifs >> q )
    {
        matrix[i][j] = q;
        j++;
        if ( j % range == 0 ) { i++; j = 0;}
    }
    ifs.close();
-=ЮрА=-
Заблокирован
Автор FAQ
05.08.2011, 14:17     Решить систему алгебраических линейных неоднородных уравнени #77
Цитата Сообщение от bambino Посмотреть сообщение
Не будет! Мозги себе поминяй, ага.
себе поминяй если ты не знаешь что такое повторное объявление то иди поучись, достали такие выскочки!
Миниатюры
Решить систему алгебраических линейных неоднородных уравнени  
grizlik78
Эксперт С++
 Аватар для grizlik78
1884 / 1416 / 102
Регистрация: 29.05.2011
Сообщений: 2,961
05.08.2011, 14:18     Решить систему алгебраических линейных неоднородных уравнени #78
-=ЮрА=-, кто ж виноват, что ты достандартный компилятор используешь?
-=ЮрА=-
Заблокирован
Автор FAQ
05.08.2011, 14:20     Решить систему алгебраических линейных неоднородных уравнени #79
Цитата Сообщение от hello19 Посмотреть сообщение
Самое забавное то, что точно такое же считывание работает, когда я считываю матрицу:
- она сформирована програмно а В скорее всего нет
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.08.2011, 14:22     Решить систему алгебраических линейных неоднородных уравнени
Еще ссылки по теме:

C++ Необходимо решить систему уравнений(C++)
C++ Система линейных алгебраических уравнений
C++ Решение системы линейных алгебраических уравнений методом Гаусса

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

Или воспользуйтесь поиском по форуму:
bambino
 Аватар для bambino
193 / 19 / 4
Регистрация: 05.08.2010
Сообщений: 229
05.08.2011, 14:22     Решить систему алгебраических линейных неоднородных уравнени #80
-=ЮрА=-, Иди учи С++ лучше, а именно про область видимости переменной, а не показуй тут всем свою тупизну.
http://liveworkspace.org/code/993a23...37c9871ea6d7d4
Yandex
Объявления
05.08.2011, 14:22     Решить систему алгебраических линейных неоднородных уравнени
Ответ Создать тему
Опции темы

Текущее время: 02:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru