Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.05.2014, 18:00   #1
Max161995
 
Регистрация: 11.05.2014
Сообщений: 6
По умолчанию Обнуление элементов под главной диагональю

Помогите пожалуйста обнулить элементы под главной диагональю матрицы.У меня элементы обнулились,а все остальные остались неизменными.Подскажите в чем ошибка.Заранее спасибо.
Код:
#include "stdafx.h"
#include "iostream"
#include "cmath"
using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{int n;
cout<<"rank ";
cin>>n;
int **a = new int*[n];
for (int i=0;i<n;i++)
a[i] = new int[n];
     for (int i=0;i<n;i++)
     {cout<<"\n";
     for (int g=0;g<n;g++)
     cin>>a[i][g];}

for (int l=0;l<n;l++)
for (int i=l+1;i<n;i++)
for (int g=0;g<n;g++)
a[i][g]-=a[l][g]*a[i][l]/a[l][l];
     
     for (int i=0;i<n;i++)
     {cout<<"\n";
     for (int g=0;g<n;g++)
     cout<<a[i][g];}
     system("pause");
     return 0;}

Последний раз редактировалось Stilet; 11.05.2014 в 18:03.
Max161995 вне форума Ответить с цитированием
Старый 11.05.2014, 18:07   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
#include "stdafx.h"
#include "iostream"
#include "cmath"
using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{int n;
cout<<"rank ";
cin>>n;
int **a = new int*[n];

     for (int i=0;i<n;i++){
      a[i]= new int[n];
      for (int g=0;g<n;g++){cin>>a[i][g];} cout<<"\n";
     }

for (int l=0;l<n;l++)
for (int i=l+1;i<n;i++)
for (int g=0;g<n;g++)
 a[i][g]-=a[l][g]*a[i][l]/a[l][l];

for (int i=0;i<n;i++)  for (int g=0;g<i;g++)    a[i][g]=0;

     for (int i=0;i<n;i++)
     {cout<<"\n";
     for (int g=0;g<n;g++)
     cout<<a[i][g];}
     system("pause");
     return 0;}
И тут еще не хватает освобождения памяти.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 11.05.2014, 18:13   #3
Max161995
 
Регистрация: 11.05.2014
Сообщений: 6
По умолчанию

А что дает вот эта строчка for (int i=0;i<n;i++) for (int g=0;g<i;g++) a[i][g]=0; ?
Max161995 вне форума Ответить с цитированием
Старый 11.05.2014, 18:15   #4
Max161995
 
Регистрация: 11.05.2014
Сообщений: 6
По умолчанию

Мне не просто обнулить,а с помощью преобразований.Получается,что я вычитаю соответствующие элементы только из тех,что находятся под диагональю,а с теми,что на ней и выше ничего не происходит
Max161995 вне форума Ответить с цитированием
Старый 11.05.2014, 18:19   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Мне не просто обнулить,а с помощью преобразований.
Теперь уже я ничего не понимаю...
Каких это преобразований таких?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 11.05.2014, 18:24   #6
Max161995
 
Регистрация: 11.05.2014
Сообщений: 6
По умолчанию

Ну смотрите,от элементов второй строки вычесть соответствующие элементы первой,умноженные на какое-то число так,чтобы разность давала 0.От третьей вторую и так далее.

123
456
789

умножаем первую на 4 и вычитаем из второй
123
0-3-6
789

вот то же самое http://programmersforum.ru/showthread.php?t=177411

Последний раз редактировалось Stilet; 11.05.2014 в 18:44.
Max161995 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
найти произведение отрицательных элементов под главной диагональю inflamedparadox Microsoft Office Word 0 14.02.2014 01:22
Определить сколько элементов, стоящих под главной диагональю, отличны от нуля(паскаль) LiOne1 Паскаль, Turbo Pascal, PascalABC.NET 4 08.06.2013 17:15
Вычислить произведение элементов массива, расположенных под главной диагональю вася2342 Помощь студентам 1 06.06.2012 09:40
Дана квадратная матрица А порядка n. Найдите сумму положительных элементов матрицы, стоящих под главной диагональю (Паскаль) Вовик-вовик Помощь студентам 1 10.01.2012 21:48
Найти минимум из элементов над главной диагональю Mashinegunner Общие вопросы C/C++ 1 27.11.2009 23:40