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

Написать программу, иллюстрирующую, что А*А-1=Е. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Поиск максимума и минимума http://www.cyberforum.ru/cpp-beginners/thread111384.html
Уважаемые форумчане помогите с задачей немогу понять как её зделать. Задание:N точек на площаде заданы своими координатами (xi,yi). Определить точку, минимально отдалёную от начала координат. Как её делать даж понятия не имею:cry:.
C++ Функция outtext! Пытаюсь вывести в графическом режиме цыфри, а получаю иероглифы!! Буквы выводит нормально http://www.cyberforum.ru/cpp-beginners/thread111372.html
C++ Описать структуру с именем NOTE
Народ почти не знаю С++ но нужно написать вот прогу желательно на Буилдере 1. Описать структуру с именем NOTE, содержащую следующие поля: - NAME - фамилия, имя; - TELE - номер телефона; - BDAY - день рождения (массив из трёх чисел). 2. Написать программу, выполняющую следующие действия; - ввод с клавиатуры данных в массив BLOCKNOTE состоящий из восьми элементов типа...
C++ с++ . ветвление
два корабля, которые находятся на разном расстоянии от совместного порта, плывут одним курсом, но с разной скоростью. циклон движется в том же направлении, но со скоростью, которая превышает скорость обоих кораблей . зная величину скорости каждого корабля( в узлах), скорость движения циклона(км\час) и расстояния к порту назначения, определить количество кораблей, которые прийдут в порт до...
C++ 1.Создать односвязный список с помощью массива целых чисел. 2.Создать очередь для символов. 3. Создать два стека для символов. http://www.cyberforum.ru/cpp-beginners/thread111358.html
Нужно выполнить 3 задания на языке С++. Искренне надеюсь на вашу помощь! Проект Win32 Console Application (консольный режим), среда Visual C++ 6.0 1.Создать односвязный список с помощью массива целых чисел. Сформировать новый список, в котором элементы следуют от конца к началу (последний элемент станет первым, предпоследний – вторым и т.д.). Результирующий список вывести на экран....
C++ Числа Фибоначи Как розпечатать числа Фибоначи на экран(Си)?????????????????? подробнее

Показать сообщение отдельно
maxfry
0 / 0 / 0
Регистрация: 31.03.2010
Сообщений: 4
03.04.2010, 12:17  [ТС]     Написать программу, иллюстрирующую, что А*А-1=Е.
А в минус первой степени - это обратная матрица, которая решается с помощью алгебраического дополнения.

Добавлено через 2 часа 19 минут
savak, спасибо за помощь, но разобраться мне не посиле. Я всего месяц изучаю С и С++, пэтому конструкторы и деструкторы это сложно... Нужно что-нибуть полегче... Вот, что я написал...
Мне нужна теперь функция, которая считает обратную матрицу...

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
#include <iostream>
#include <time.h>
#include <stdlib.h>
 
 
using namespace std;
 
 
void vivod(int** a, int n)
{
    int i,j;
    for(i = 0; i < n; i++)
    {
        for(j = 0; j < n; j++)
            cout << a[i][j] <<'\t';
        printf("\n");
    }
}
 
void del(int** a, int** b, int m, int i, int j)
{
    int di = 0;
    int dj;
    for(int ki = 0; ki < m - 1; ki++)
    {
        if(ki == i)
            di = 1;
        dj = 0;
        for(int kj = 0; kj < m - 1; kj++)
        {
            if(kj == j)
                dj = 1;
            b[ki][kj] = a[ki + di][kj + dj];
        }
    }
}
 
long Determinant(int** a, int n)
{
    int **b;
    int d = 0; int k = 1; int i;
    b = (int**)malloc(n*sizeof(int*));
 
    for(i = 0; i < n; i++)
        b[i] = (int*)malloc(n*sizeof(int));
 
    if(n < 1)
    {
        printf("determinanta net");
        return 0;
    }
    else
        if(n == 1)
            return a[0][0];
        else
            if(n == 2)
                return a[0][0] * a[1][1] - a[0][1] * a[1][0];
            else
            {
 
                for(int i  = 0; i < n; i++)
                {
                    del(a, b, n, i, 0);
                    d += k * a[i][0] * Determinant(b, n - 1);
                    k--;
                }
 
                return d;
            }
 
    for(int i = 0; i < n; i++)
        free(b[i]);
 
    free(b);
 
    return 0;
}
 
 
int main()
{
    int n,i,j;
    int **a;
    printf("Enter size of matrix \n" );
    scanf("%d",&n);
    time_t t;
    srand(time(&t));
 
    if((a=(int**)malloc(n*sizeof(int*)))==0)
    {
        printf("Nedostatochno pamjati\n");
        exit(1);
    }
 
    for(i = 0; i < n; i++)
        a[i] = (int*)malloc(n*sizeof(int));
 
    for(i = 0; i < n; i++)
        for(j = 0; j < n; j ++)
            a[i][j] = rand() % 10-2;
 
    vivod(a, n);
 
    long dt = Determinant(a, n);
 
    cout << "Determinant=" << dt <<endl;
 
    for(i = 0; i < n; i++)
        free(a[i]);
    free(a);
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru