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

Создать СЛАУ размерности 1000х1000 в С++, чтобы система имела только одно решение - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Класс "Студия звукозаписи" http://www.cyberforum.ru/cpp-beginners/thread1701126.html
Помогите написать программу. При выполнении лабораторной работы требуется создать шаблон класса-контейнера, реализующего динамическую структуру данных заданного типа и выполнить требуемую обработку. Выполнение лабораторной работы следует осуществлять с учетом следующих требований: Динамическую структуру требуется определить в виде шаблонного класса, реализующего заданное поведение. Тип...
C++ Глюк при вводе через консоль Как можно обеспечить правильный ввод? При вводе цифр все нормально, а вот когда ввести символ или строку то прога слетает. Вот код : #include <iostream> #include <cstdlib> #include <windows.h> http://www.cyberforum.ru/cpp-beginners/thread1701113.html
C++ Определить в заданной последовательности целых чисел количество чисел Фибоначчи
Выполнить задания, если задана последовательность целых чисел длиной n. Определить в заданной последовательности целых чисел количество чисел Фибоначчи. Пожалуйста, если можете, помогите , вообще не пойму как ее решать((
C++ Segmentation fault
Почему при таком варианте происходит Segmentation fault? vec3f trace(const Scene& scene, const Ray& ray) { const RenderObject* renderObject = scene.getIntersectedObject(ray); if (renderObject) { return renderObject->getColor(intersectionPoint); }
C++ Создать список, k-ый элемент которого содержит сумму первых k введенных чисел http://www.cyberforum.ru/cpp-beginners/thread1701079.html
C клавиатуры вводится несколько целых чисел.Создать список,к-й элемент которого содержит сумму первых к введенный чисел.
 

Показать сообщение отдельно
nokiago
0 / 0 / 0
Регистрация: 28.05.2015
Сообщений: 38
04.04.2016, 22:41  [ТС]     Создать СЛАУ размерности 1000х1000 в С++, чтобы система имела только одно решение
Nick Alte,
вот я сейчас изменил коэффициенты стали лучше намного, но почему они все целочисленные получаются?
а вектор B я сделал рандомным
Кликните здесь для просмотра всего текста
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
// matrica.cpp : Defines the entry point for the console application.
//
 
#include "stdafx.h"
#include <iostream>
#include <iomanip>
#include<time.h>
#include<stdlib.h>
#include <fstream>
 
#define n 1000
 
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
 
 
    srand(time(NULL));
    double tab[n][n];
 
    /* */
    double B[n];
    for(int i=0;i<n;i++) {
        B[i]=rand()%10;
    }
 
    ofstream f1;
 
        for(int i=0;i<n;i++) {
        f1.open("e:\\b_matrix_old.txt", ios_base::app);
        f1<<B[i]<<" ";
        f1.close();
        }
 
    /* */
 
    int i=0, j=0;
 
    for (i=0; i<n; i++)
    {
        for (j=0; j<n; j++) {
            if (i==j) 
            {tab[i][j]=1;}               
            else 
            {tab[i][j]=0;}
        }
    }
 
 
        double K;
        int N2,N1;
        
        for(int i=0;i<10000;i++) {
        K=(1+rand()%1);
        N1=rand()%n;
        N2=rand()%n;
 
        for(int ii = 0; ii < n; ++ii)
        {
            if(N1 != N2) {
                tab[N2][ii] += tab[N1][ii] * K;
                if(ii==0) {B[N2] = B[N2] + B[N1]*K;}
            }
        }
        }
 
 
        ofstream f;
 
        for(int i=0;i<n;i++) {
        f.open("e:\\b_matrix.txt", ios_base::app);
        f<<B[i]<<" ";
        f.close();
        }
 
 
        for(int i=0;i<n;i++) {
        for(int j=0;j<n;j++) {
            f.open("e:\\matrix.txt", ios_base::app);
            f<<tab[i][j]<<" ";
            f.close();
        }
            f.open("e:\\matrix.txt", ios_base::app);
            f<<"\n";
            f.close();
    }
 
    system("pause");
    return 0;
}


я просто двигаюсь от того, что мне нужно решить матрицу 1000х1000.
решаю я через специальные библиотеки с++, которые служат для вычислений линейной алгебры.
но я ведь должен знать ответы, чтобы видеть - правильно ли решают эти библиотеки.
как вы сказали создать единичную матрицу - для меня это хороший вариант, так как я задаю как бы последний столбец (вектор б) - он и будет моим решением, я получается буду знать ответы.

вот смотрите, я сейчас полуил матрицу заполненную и вектор тот тоже модифицированный, потом я эти данные ввожу уже в программу для вычисления - и программа мне находит решения в виде того "старого" вектора, который был при матрице единичной. правильно ли это или я запутался?

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