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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Максгалилей
0 / 0 / 0
Регистрация: 30.10.2013
Сообщений: 11
#1

Считывание и запись определителя матрицы - C++

11.11.2013, 21:41. Просмотров 588. Ответов 1
Метки нет (Все метки)

в файле записан массив , его надо считать и найти его определитель, и записать его в другой файл. программа не хочет считывать данные.
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
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <iostream>
#include <fstream>
 
 
 
double **M(int m, int im, int jm, double ** arr)
{
    int i, j;
 
    double ** ret = (double **)malloc((m - 1)*sizeof(double));
    for(i = 0; i < m; i++)
    {
        if(i != im)
        {
            if(i < im)
                ret[i]     = (double *)malloc((m - 1)*sizeof(double));
            else
                ret[i - 1] = (double *)malloc((m - 1)*sizeof(double));
            for(j = 0; j < m; j++)
            {
                if(j != jm)
                {
                    if(i < im)
                    {
                        if(j < jm)
                    ret[i][j] = arr[i][j];
                        else
                           ret[i][j - 1] = arr[i][j];
                    }
                    else
                    {
                        if(j < jm)
                            ret[i - 1][j] = arr[i][j];
                        else
                            ret[i - 1][j - 1] = arr[i][j];
                    }
                }
            }
            
        }
    }
    return ret;
}
 
double Det(int m, double ** arr)
{
    int i, j = 0;
    double ret = 0;
    double A;
    double ** _arr;
    if(m == 2)
    {
        ret = 
            arr[0][0]*arr[1][1] - 
            arr[1][0]*arr[0][1];
    
    }
    else
    {
        for(j = 0; j < m; j++)
        {
            _arr = M(m, 0, j, arr);
            ret += (A = (arr[0][j])*pow(-1,j)*Det(m - 1, _arr));
            
                printf("A[%02d][%02d] = %lf\n",1, j + 1,A);
            for(i = m - 2; 0 < i; i--)
                free((void *)_arr[i]);
            free((void *)_arr);
        }
    }
    return ret;
}
    
int main()
{
        using namespace std;
        
    ifstream in("in.txt");
 
    if(!in)
    {
        cerr << "Ia ii?o a?ae?eoe ao?aiee oaee!";
        return -1;
    }
 
    
    
    
    ofstream out("out.txt");
    int zzz = 0;
    if(!out)
    {
        cerr << "Ia ii?o a?ae?eoe aeo?aiee oaee!";
        return -2;
    }
 
    int i, j, m;
    
    printf("Enter m : ");scanf("%d",&m);
    in>>m;
 
    double ** array = (double **)malloc(m*sizeof(double));
    double det = 0;
    for(i = 0; i < m; i++)
    {
        
        array[i] = (double *)malloc(m*sizeof(double));
        for(j = 0; j < m; j++)
        {
            
            
            in >> array[i][j];
            printf
            (
                (array[i][j] < 0 ? "-%.1f " : " %.1f "),
                fabs(array[i][j])
                
            );
        }
        printf("\n");
        
    }
    system("pause");
    det = Det(m,array);
    system("cls");
    for(i = 0; i < m; i++)
    {
        for(j = 0; j < m; j++)
        {
            printf
                (
                    (array[i][j] < 0 ? "-%.1f " : " %.1f "),
                    fabs(array[i][j])
                );
        }
        printf("\n");
        free((void *)array[i]);
    }
    printf("Determiant : %lf\n",det);
    out << det;
           in.close();
       out.close();
 
    system("pause");
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.11.2013, 21:41     Считывание и запись определителя матрицы
Посмотрите здесь:

Считывание и запись матрицы из/в файл - C++
Так,вообще вот исходный файл(F:\****\****\input.txt): 3 3 1 2 3 4 5 6 7 8 9 Первые два числа это размеры матрицы,остальные эта...

Считывание элементов матрицы из файла и запись ответов в другой текстовый файл - C++
Помогите пожалуйста написать программу для считывания элементов матрицы размером М х N из файла для вывода на экран, и записи ответа в...

Вычисление определителя матрицы N*N - C++
Дорогие форумчане, никто не подскажет как вычислить определитель квадратной матрицы, сам код не нужен, только алгоритм. Насколько я слышал...

Нахождение определителя матрицы - C++
Здравствуйте, помогите пожалуйста дописать. Нужно было реализовать в виде модуля, программку, которая выполняет действия над квадратными...

Нахождение детерминанта (определителя) матрицы - C++
У меня вот код есть для нахождения детерминанта (определителя) матрицы 5х5 :) а как сделать, чтобы я мог сам ввести данные матрицы? ...

Функции (Расчет определителя матрицы) - C++
Задание: Ввести с клавиатуры матрицу 4*4 и подсчитать ее определитель. Процедуру подсчета определителя оформить в виде функции. во я...

Вычисление следа матрицы и определителя - C++
воббщем надо реализовать вычисление следа матрицы и определителя алгоритм для следа : #include &lt;stdio.h&gt; typedef int *pInt; ...

Нахождение определителя матрицы методом гаусса - C++
Нахождение определителя методом гауса #include &lt;stdio.h&gt; #include&lt;locale.h&gt; #include&lt;math.h&gt; #include&lt;conio.h&gt; int main() { ...

Формула для нахождения определителя матрицы - C++
Здравствуйте! У меня имеется небольшой вопрос: как записать формулу для нахождения определителя матрицы(ранг&gt;2) на с++? Считать...

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

Код вычисления определителя матрицы до 10-го порядка - C++
Мне очень нужен код программы для вычисления определителя матрицы до 10-го порядка.

Исправить код c++ ,нахождение определителя матрицы - C++
Необходимо найти определитель матрицы,выдает ошибку. Так же ,может кто предложит свой код нахождения определителя матрицы,нужно срочно. ...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
-=ЮрА=-
Заблокирован
Автор FAQ
11.11.2013, 23:24     Считывание и запись определителя матрицы #2
http://www.cyberforum.ru/faq/thread4...ml#post2471796

Ответ Создать тему
Опции темы

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