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

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

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

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

11.11.2013, 21:41. Просмотров 589. Ответов 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++):

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

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

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

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

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

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
-=ЮрА=-
Заблокирован
Автор FAQ
11.11.2013, 23:24 #2
http://www.cyberforum.ru/faq/thread4...ml#post2471796

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.11.2013, 23:24
Привет! Вот еще темы с ответами:

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

Нужен пример нахождения определителя матрицы - C++
Подскажите пожалуйста простенький пример нахождения определителя матрицы?

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

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


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

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

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