Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
5 / 5 / 0
Регистрация: 01.11.2010
Сообщений: 97
1

Как привести матрицу к унитреульной матрице или верхней треугольной матрице?

09.12.2011, 13:02. Показов 1568. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Как привести матрицу к унитреульной матрице или верхней треугольной матрице?

Добавлено через 14 часов 4 минуты
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
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <iostream>
#define N 5 
void main (){
int mt, nt, i,j,k,c;
int A[N+3][N]={
1,1,0,0,0,
1,1,0,1,0,
1,0,1,0,0,
1,0,1,1,1,
1,0,0,0,0,
0,0,1,0,0,
0,1,0,0,1,
0,1,0,1,0}, B[N+3]={0,1,2,3,4,5,6,7};
mt=8; nt=5;
for(int u=0; u<mt; u++){
    for(int y=0; y<nt; y++){
        printf("%d\t",A[u][y]);
    if(y==(nt-1))printf("\n");}
}
printf("\n");
 
 
k=0;
while(k<mt){
j=k;
if(A[B[j]][k]==0 && j<mt){j++;}
if(j>(mt-1)){k++;}
if(j>(k-1)){c=B[j];B[j]=B[k];B[k]=c;}
i=k;
while(i<(mt-1)){
    i++;
if(A[B[i]][k]==1){
    for(j=0;j<nt;j++){
        A[B[i]][j]=(A[B[i]][j]+A[B[k]][j])%2;}
}
}
for(int u=0; u<N+3; u++){
    for(int y=0; y<N; y++){
        printf("%d\t",A[u][y]);
    if(y==(N-1))printf("\n");}
}
printf("\n");
k++;
}
}
написал код, но работает не так. может кто посмотрит
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
09.12.2011, 13:02
Ответы с готовыми решениями:

Найти произведение элементов, расположенных в верхней треугольной матрице
Дан двумерный массив a, размером ( квадратная матрица а). Найти произведение элементов, расположенных в верхней треугольной матрице,...

Найти произведение элементов, расположенных в верхней треугольной матрице
14. Дан двумерный массив a, размером (nn) (или квадратная матрица а). Найти произведение элементов, расположенных в верхней треугольной...

Найти произведение элементов, расположенных в верхней треугольной матрице
Дан двумерный массив a, размером (nn) (или квадратная матрица а). Найти произведение элементов, расположенных в верхней треугольной...

7
51 / 51 / 4
Регистрация: 04.04.2011
Сообщений: 209
09.12.2011, 13:12 2
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

а вот лови прямо здесь на форуме лежит я правдо немного отредактировал что бы сдать преподу мог вот функция
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
#define FOR_k  for (int k = 0; k < dim; ++k)
#define FOR_j  for (int j = 0; j < dim; ++j)
#define FOR_i  for (int i = k + 1; i < dim; ++i)
void swap(double &a, double &b)
{
    double temp = a;
    a = b;
    b = temp;                         
 
}
 
void Gauss(double **A, double *B, int dim)
{
    FOR_k
    {
        if (A[k][k] == 0.0)
        {
           FOR_i
            {
                if (A[i][k] != 0.0)
                {
                    FOR_j
                        swap(A[i][j], A[k][j]);
 
                    swap(B[i], B[k]);
 
                    break;
                }
            }
        }
 
        double div = A[k][k];
 
        FOR_j
            A[k][j] /= div;
 
        B[k] /= div;
 
       FOR_i
        {
            double multi = A[i][k];
 
            for (int j = 0; j < dim; ++j)
                A[i][j] -= multi * A[k][j];
 
            B[i] -= multi * B[k];
        }
    }
 
    for (int k = dim - 1; k > 0; --k)
    {
        for (int i = k - 1; i + 1 > 0; --i)
        {
            double multi = A[i][k];
 
            for (int j = 0; j < dim; ++j)
                A[i][j] -= multi * A[k][j];
 
            B[i] -= multi * B[k];
        }
    }                                                    
}
решение матриц методом Гауса
1
5 / 5 / 0
Регистрация: 01.11.2010
Сообщений: 97
09.12.2011, 13:29  [ТС] 3
dim что за переменная? размерность?
0
51 / 51 / 4
Регистрация: 04.04.2011
Сообщений: 209
09.12.2011, 13:37 4
Цитата Сообщение от Naatikin Посмотреть сообщение
dim что за переменная? размерность?
да размерность
0
5 / 5 / 0
Регистрация: 01.11.2010
Сообщений: 97
09.12.2011, 13:51  [ТС] 5
у меня есть матрица из нулей и единиц, нужно получить унитреугольную матрицу. что тогда я должен в качестве матрицы B[] подавать?
0
51 / 51 / 4
Регистрация: 04.04.2011
Сообщений: 209
09.12.2011, 13:53 6
C++
1
2
3
4
5
6
7
8
9
int A[N+3][N]={
1,1,0,0,0,
1,1,0,1,0,
1,0,1,0,0,
1,0,1,1,1,
1,0,0,0,0,
0,0,1,0,0,
0,1,0,0,1,
0,1,0,1,0}, B[N+3]={0,1,2,3,4,5,6,7};
я так понимаю это матрица и столбец свободных членов ?? так если так то программа сделает еденичную матрицу треугольную
0
5 / 5 / 0
Регистрация: 01.11.2010
Сообщений: 97
09.12.2011, 13:55  [ТС] 7
нет мне нужно только совершить эквивалентные преобразования над матрицей А, матрица В тут не при чём
0
51 / 51 / 4
Регистрация: 04.04.2011
Сообщений: 209
09.12.2011, 14:21 8
Цитата Сообщение от Naatikin Посмотреть сообщение
нет мне нужно только совершить эквивалентные преобразования над матрицей А, матрица В тут не при чём
матрица) Б у тебя там массив когда вижу такое сразу понимаю что это матрица со столбоцом свободных членов
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
09.12.2011, 14:21
Помогаю со студенческими работами здесь

Найти произведение элементов, расположенных в верхней треугольной матрице, расположенной выше побочной диагонали
c++ динамический массив Создать динамические массивы, используя указатели. Дан двумерный массив a, размером (n*n) (или квадратная матрица...

Доказать утверждение о вещественной треугольной матрице
Помогите, пожалуйста, доказать следующее утверждение: вещественная треугольная матрица, перестановочная со своей транспонированной,...

Найти среднее арифметическое отрицательных элементов, лежащих в нижней треугольной матрице массива А(m,m).
Найти среднее арифметическое отрицательных элементов, лежащих в нижней треугольной матрице массива А(m,m).

Привести к матрице с диагональным преобладанием
Здравствуйте!Помогите ,пожалуйста, данную систему привести к матрице с диагональным преобладанием \begin{cases} &amp; \text...

Как построить матрицу достижимости графа по матрице смежности?
Как построить матрицу достижимости графа по матрице смежности? В интернете алгоритм представлен мутновато, я не смог разобраться ...


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

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

Редактор формул (кликните на картинку в правом углу, чтобы закрыть)
Новые блоги и статьи
Winforstrap или красявый дизайн своими руками на HTML+JS+Winform­s
anomal6 04.03.2025
Сидел тут вечером ковырял проект на MAUI, и как же глупо создаются пакеты MSIX и система обновлений пакета публикации, но не об этом. Бывает нужен современный дизайн программы а писать на MAUI,. . .
Формат данных для симуляции физики, посредством распространённы­­­­­­­х не обученных моделей.
Hrethgir 04.03.2025
Что-то как-то снова потерялось, зато катангенсы закатангесились в одном сообщении. На днях писал, что планирую для работы апгрейдить (на этот раз удачно) девайс для работы (конкретно - здоровья для,. . .
Концепция variadic
CoderHuligan 04.03.2025
Мне не очень нравится (а кому это нравится?) что у нас есть отдельно компилятор, отдельно линковщик, причем со своим собственным командным языком. При этом усложнении надо знать помимо языка. . .
Java Record или Kotlin Data Class: что лучше для неизменяемых данных
Wired 04.03.2025
Java Record и Kotlin Data Class — два мощных инструмента для обуздания неизменяемых структур данных, каждый со своим уникальным подходом к решению этой задачи. История их появления весьма. . .
Создание производительны­­­х API с Java и gRPC
Wired 04.03.2025
В мире микросервисной разработки вопрос производительности часто становится краеугольным камнем. И хотя REST API давно завоевал сердца разработчиков своей простотой и интуитивностью, при высоких. . .
Что нового в JDK 24
Wired 04.03.2025
JDK 24 — это настоящий прорыв в эволюции Java, который кардинально меняет правила игры. В этом релизе разработчики Oracle наконец-то довели до ума множество критически важных улучшений в. . .
Разработка блокчейн с использованием Java: смарт-контракты и dApp
Wired 04.03.2025
Погружаясь в мир блокчейн-разработки на Java, разработчик получает доступ к внушительному арсеналу инструментов. В отличие от Solidity, который "заперт" в экосистеме Ethereum, Java предоставляет. . .
WebAssembly в Kubernetes
stackOverflow 03.03.2025
В современной экосистеме облачных технологий WebAssembly (Wasm) становится все более значимым компонентом, предлагая уникальный подход к выполнению кода в распределенных системах. Эта технология. . .
GitHub Actions или Jenkins: Выбираем CI/CD платформу
stackOverflow 03.03.2025
Непрерывная интеграция и развертывание (CI/ CD) изменили подход к разработке программного обеспечения, превратив его в бесшовный процесс от написания кода до развертывания в продакшн. GitHub Actions и. . .
Автоматизация тестирования Pull Request в Kubernetes: Интеграция с GitHub Actions и GKE
stackOverflow 03.03.2025
Масштабные проекты с использованием Kubernetes требуют надежной системы тестирования изменений перед их внедрением в продакшн-среду. Традиционный подход с ручной проверкой Pull Request не справляется. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru