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

Приведение матрицы к диагональному виду - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 66, средняя оценка - 4.73
Иринкa
0 / 0 / 0
Регистрация: 22.09.2010
Сообщений: 7
22.09.2010, 07:46     Приведение матрицы к диагональному виду #1
Всем привет! Помогите решить задачку на с++:
Привести матрицу n*n к диагональному виду, иллюстрируя каждый шаг.

У меня получилось вывести матрицу на экран:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <stdlib.h>//очистка экрана.
 
using namespace std;
int main(){ 
    int n;
    cout<<"n=";
    cin>>n;
    float a[n][n];
    int i,j; cout<<"matrix^_^:"<<endl;
    for(i=1; i<=n; i++){ 
             for(j=1; j<=n; j++) {
             cin>>a[i][j];} cout<<'\n'; }
             system("cls"); 
         for(i=1; i<=n; i++){ 
             for(j=1; j<=n; j++) {
               cout<<a[i][j]<<'\t';} cout<<'\n';}                      
                     
                        
            system("PAUSE");     
    return 0;
}
А вот как дальше непонятно...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.09.2010, 07:46     Приведение матрицы к диагональному виду
Посмотрите здесь:

Написать программу для формирования матрицы по ее внешнему виду. C++
C++ Приведение типов
C++ Приведение матрицы к блочно-диагональному виду
Приведение типов. C++
C++ Как привести матрицу к верхнему треугольному виду? С++ (Имеется код нахождения нижней треуг. матрицы)
C++ Привести матрицу 3 на 3 к диагональному виду
C++ Приведение типов
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Евгений М.
1033 / 974 / 53
Регистрация: 28.02.2010
Сообщений: 2,819
Завершенные тесты: 2
22.09.2010, 08:09     Приведение матрицы к диагональному виду #2
См. Пример: приведение матрицы к ступенчатому виду методом Гаусса
http://tver.mesi.ru/e-lib/res/658/10/1.html
На выражение ступенчатый вид НЕ смущаться т.к. для квадратной матрицы получится диагональная.
Иринкa
0 / 0 / 0
Регистрация: 22.09.2010
Сообщений: 7
26.09.2010, 22:14  [ТС]     Приведение матрицы к диагональному виду #3
Цитата Сообщение от Евгений М. Посмотреть сообщение
См. Пример: приведение матрицы к ступенчатому виду методом Гаусса
http://tver.mesi.ru/e-lib/res/658/10/1.html
На выражение ступенчатый вид НЕ смущаться т.к. для квадратной матрицы получится диагональная.
Сорри, за столь поздний ответ, но: По-моему мнению и мнению википедии диагональная матрица — квадратная матрица, все элементы которой, стоящие вне главной диагонали, равны нулю. Однако, нифига она не диагональная получается. Даже если взглянуть на пример, данные Вами по ссылке, то видно, что там для примера рассмотрена матрица 4х4, и она не диагональна.
Если я в чём-то не права - разъясните пожалуйста!
silent_1991
Эксперт C++
4945 / 3021 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
26.09.2010, 22:27     Приведение матрицы к диагональному виду #4
Иринкa,
Вы правы, для квадратной матрицы ступенчатый вид означает треугольную, а не диагональную матрицу.
Иринкa
0 / 0 / 0
Регистрация: 22.09.2010
Сообщений: 7
26.09.2010, 23:13  [ТС]     Приведение матрицы к диагональному виду #5
Цитата Сообщение от silent_1991 Посмотреть сообщение
Иринкa,
Вы правы, для квадратной матрицы ступенчатый вид означает треугольную, а не диагональную матрицу.
И что же мне теперь делать?! Помогите с задачей, пожаалуйста!
Я собиралась завтра утром идти сдавать, села разбираться с ней, а тут такое... Придётся только в следующий понедельник идти...
Помогите кто-нибудь хоть к следующему понедельнику...
Artishok
ЧакЭ одобряЭ
 Аватар для Artishok
277 / 276 / 32
Регистрация: 27.12.2009
Сообщений: 1,767
26.09.2010, 23:15     Приведение матрицы к диагональному виду #6
C++
1
if (i!=j) a[i][j]=0;
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.09.2010, 06:58     Приведение матрицы к диагональному виду
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
Иринкa
0 / 0 / 0
Регистрация: 22.09.2010
Сообщений: 7
27.09.2010, 06:58  [ТС]     Приведение матрицы к диагональному виду #7
Цитата Сообщение от Artishok Посмотреть сообщение
C++
1
if (i!=j) a[i][j]=0;
Я правильно поняла, вы предлагаете просто приравнять к нулю все значения, не стоящие на главной диагонали?! А вам не кажется, что диагональная матрица считается немного по-другому?!
Yandex
Объявления
27.09.2010, 06:58     Приведение матрицы к диагональному виду
Ответ Создать тему
Опции темы

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