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

Появляется -1.#IND в результатах - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ setprecision() и setiosflags() http://www.cyberforum.ru/cpp-beginners/thread602960.html
Почему чтобы напечатать число с двумя цифрами после запятой нужно использовать обе эти функции? cout << setprecision(2) << setiosflags(ios::fixed | ios::showpoint) << 10.0 / 3; Ведь setprecision(2) и так уже показывает что результат будет с двумя цифрами после десятичной точки.
C++ При просмотре уже созданного файла программа выводит лишь одну строку, а остальные обнуляет Создал программу с записью структуры в файл. Но при повторном запуске программы и просмотре уже созданного ей же файла выводит лишь одну строку, а остальные обнуляет. # include <string.h> # include <iomanip.h> # include <stdio.h> # include <conio.h> # include <iostream.h> # include <windows.h> # include <dos.h> FILE *f; http://www.cyberforum.ru/cpp-beginners/thread602935.html
Условие строки в цикле while C++
#include "stdafx.h" #include <iostream> #include <string> using namespace std; int main(){ char* answer = new char; while ( answer!="y") { cout << "Купи слоника! "; cin >> answer;
Магический квадрат (с использованием функций) C++
Дана квадратная целочисленная матрица. Определить, является ли она магическим квадратом. В магическом квадрате сумма чисел по всем горизонталям, вертикалям и двум диагоналям должна быть одна и та же. В задаче необходимо использовать свои функции.
C++ Вывести текст функцией DrawText() http://www.cyberforum.ru/cpp-beginners/thread602883.html
Всем привет! Необходимо вывести текст "Текст" функцией DrawText(), и нужно, чтобы этот текст мигал, т.е. через 1 секунду он был в другой позиции, а потом опять через 1 секунду был в исходной позиции. И так бесконечно. Помогите, пожалуйста? WinAPI c++
C++ Ошибка при установке Visual Studio 2010 не удается открыть файл данных C:Users\Викуша\AppData\Local\Tmps\SIT33758.tmp\defFactory.dat Как установить? подробнее

Показать сообщение отдельно
KeMesh
0 / 0 / 0
Регистрация: 11.06.2012
Сообщений: 7

Появляется -1.#IND в результатах - C++

11.06.2012, 19:53. Просмотров 979. Ответов 5
Метки (Все метки)

Доброго времени суток.

Извеняюсь за глупые (возможно) вопросы зарание.

Программа на C++. вычисляет обратную матрицу методом жордана-гаусса. Размер матрицы задается пользователем.

Проблема: при введении размера матрицы от 2х2 до 4х4 все вычисления происходят как положенно. При вычислении матрицы 5х5 и более выдает все результаты как -1.#IND

Код программы.

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
94
95
96
97
98
99
100
101
102
103
#include <iostream>
 
void inversion(double **A, int N)
{
    double temp;
 
    double **E = new double *[N];
 
    for (int i = 0; i < N; i++)
        E[i] = new double [N];
 
    for (int i = 0; i < N; i++)
        for (int j = 0; j < N; j++)
        {
            E[i][j] = 0.0;
 
            if (i == j)
                E[i][j] = 1.0;
        }
 
    for (int k = 0; k < N; k++)
    {
        temp = A[k][k];
 
        for (int j = 0; j < N; j++)
        {
            A[k][j] /= temp;
            E[k][j] /= temp;
        }
 
        for (int i = k + 1; i < N; i++)
        {
            temp = A[i][k];
 
            for (int j = 0; j < N; j++)
            {
                A[i][j] -= A[k][j] * temp;
                E[i][j] -= E[k][j] * temp;
            }
        }
    }
 
    for (int k = N - 1; k > 0; k--)
    {
        for (int i = k - 1; i >= 0; i--)
        {
            temp = A[i][k];
 
            for (int j = 0; j < N; j++)
            {
                A[i][j] -= A[k][j] * temp;
                E[i][j] -= E[k][j] * temp;
            }
        }
    }
 
    for (int i = 0; i < N; i++)
        for (int j = 0; j < N; j++)
            A[i][j] = E[i][j];
 
    for (int i = 0; i < N; i++)
        delete [] E[i];
 
    delete [] E;
}
 
int main()
{
    int N;
 
    std::cout << "Enter N: ";
    std::cin >> N;
 
    double **matrix = new double *[N];
 
    for (int i = 0; i < N; i++)
        matrix[i] = new double [N];
 
    for (int i = 0; i < N; i++)
        for (int j = 0; j < N; j++)
        {
            std::cout << "Enter matrix[" << i << "][" << j << "] = ";
            std::cin >> matrix[i][j];
        }
 
    inversion(matrix, N);
 
    for (int i = 0; i < N; i++)
    {
        for (int j = 0; j < N; j++)
            std::cout << matrix[i][j] << "  ";
 
        std::cout << std::endl;
    }
 
    for (int i = 0; i < N; i++)
        delete [] matrix[i];
 
    delete [] matrix;
 
    std::cin.get();
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru