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

Решения СЛАУ методом Гаусса по шагу - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ почему не работает функция? http://www.cyberforum.ru/cpp-beginners/thread1088685.html
#include <iostream> #include <conio.h> void function (int k)// { for(int i=0;i<k;i++) std::cout<<"*"; } int main()
C++ DirectSound. Как правильно, и какую библиотеку следует добавить? Ребята, нужна ваша помощь. MVS 2010 выдаёт следующее 1>DXUTsound.obj : error LNK2019: unresolved external symbol __imp__mmioClose@8 referenced in function "public: long __thiscall CWaveFile::Open(char *,struct tWAVEFORMATEX *,unsigned long)" (?Open@CWaveFile@@QAEJPADPAUtWAVEFORMATEX@@K@Z) 1>DXUTsound.obj : error LNK2019: unresolved external symbol __imp__mmioOpenA@12 referenced in function... http://www.cyberforum.ru/cpp-beginners/thread1088683.html
C++ Составить программу для вычисления расстояния между точками пересечения окружностей
Две окружности на плоскости заданы координатами своих центров и радиусами. Составить программу для вычисления расстояния между точками пересечения окружностей. Если окружности соприкасаются в одной точке или не пересекаются, то выдать сообщения об этом.
В следующем слове после точки, первую строчную букву заменить на прописную C++
В строке, содержащей последовательность слов, найти конец предложения, обозначенный символом "точка". В следующем слове первую строчную букву заменить на прописную
C++ Растолкуйте код http://www.cyberforum.ru/cpp-beginners/thread1088660.html
Помогите с кодом cout << (i == 0 || j == 0 || i == N + 1 || j == M + 1 ? '#' : a) << (j <= M ? "" : "\n"); что делает cout << ( ? : ); я впервые с таким столкнулся.
C++ Содержимое массива Уважаемые подскажите пожалуйста, можно ли как-то посмотреть содержимое массива в MVS 2012, в режиме отладки, содержимое переменных можно посмотреть а массива никак не могу найти как ? подробнее

Показать сообщение отдельно
о_О_Кто_здесь
11 / 11 / 1
Регистрация: 06.06.2011
Сообщений: 152
25.04.2014, 20:32  [ТС]     Решения СЛАУ методом Гаусса по шагу
ап!
Не пойму в чем дело:
У меня решается матрица:
1) Действие я нахожу строчку в которой есть в 1 столбце и заменяю ее на первую строку.
2) Далее делаю элементарные преобразования. Целью которого является привести матрицу к ступенчатому виду.
Но, у меня правильно считает в итоге: x,y,z.
А ступенчатый вид "хромает". Я пытался реализовать "сделать программу чтобы она считала правильно, сделал. Далее пошел смотреть подробней что происходит, а вывода такого как на примерах нету( и в тетрадке при преобразованиях я привожу матрицу к ступенчатому\треугольному виду, а при выводе у меня "недоступенчатый вид" что программа делает или не доделывает, не пойму.
Вот сам пример, взять его с сайта, где увидел подробное решение: http://www.mathprofi.ru/metod_gaussa...chainikov.html
Должно быть по такому примеру:
Кликните здесь для просмотра всего текста
ПРИМЕР: Решить СЛАУ методом гаусса
--------
3х+2y-5z=-1
2x-y+3z=13
x+2y-z=9
-------
Матрица А:
3х+2y-5z
2x-y+3z
x+2y-z
------
Матрица B
-1
13
9
---------
Расширенная матрица:
3 2 -5| -1
2 -1 3| 13
1 2 -1| 9
----------
Почти всегда здесь должна находиться единица.
Поменяли строчки местами:
1 2 -1| 9
2 -1 3| 13
3 2 -5| -1
--------
Единица в левом верхнем углу организована. Теперь нужно получить нули в 1 столбце во второй и третьей строке.
Нули получаем как раз с помощью «трудного» преобразования. Сначала разбираемся со второй строкой (2, –1, 3, 13). Что нужно сделать, чтобы на первой позиции получить ноль? Нужно ко второй строке прибавить первую строку, умноженную на –2. Мысленно или на черновике умножаем первую строку на –2: (–2, –4, 2, –18). И последовательно проводим (опять же мысленно или на черновике) сложение, ко второй строке прибавляем первую строку, уже умноженную на –2:
1 2 -1| 9
0 -5 5| -5
3 2 -5| -1
--------
Аналогично разбираемся с третьей строкой (3, 2, –5, –1). Чтобы получить на первой позиции ноль, нужно к третьей строке прибавить первую строку, умноженную на –3. Мысленно или на черновике умножаем первую строку на –3: (–3, –6, 3, –27). И к третьей строке прибавляем первую строку, умноженную на –3:
1 2 -1| 9
0 -5 5| -5
0 -4 -2| -28
-------
Далее нужно получить единицу во втором столбце во второй строчке:
В данном примере это сделать легко, вторую строку делим на –5 (поскольку там все числа делятся на 5 без остатка). Заодно делим третью строку на –2, ведь чем меньше числа, тем проще решение:
1 2 -1| 9
0 1 -1| 1
0 2 1| 14
-------
На заключительном этапе элементарных преобразований нужно получить еще один ноль во втором столбце в третьей строчке:
1 2 -1| 9
0 1 -1| 1
0 0 1| 4
В результате элементарных преобразований получена эквивалентная исходной система линейных уравнений:
x+2y-z=9
y-z=1
z=4
---------
Далее подставляем и Ответ: x=3,y=5,z=4.


А у меня выходит так:
Кликните здесь для просмотра всего текста
А у меня сохраненные и прочитанные по шаговые действия из файла выглядят так:
---------
Расширенная матрица:
3 2 -5| -1
2 -1 3| 13
1 2 -1| 9
----------
Почти всегда здесь должна находиться единица.
Поменяли строчки местами:
1 2 -1| 9
2 -1 3| 13
3 2 -5| -1
--------
1 2 -1| 9
2 -1 3| -5
3 2 -5| -1
--------
1 2 -1| 9
0 -1 3| -5
3 2 -5| -1
--------
1 2 -1| 9
0 -5 3| -5
3 2 -5| -1
--------
1 2 -1| 9
0 -5 5| -5
3 2 -5| -1
--------
1 2 -1| 9
0 -5 5| -5
3 2 -5| -28
--------
1 2 -1| 9
0 -5 5| -5
0 2 -5| -28
--------
1 2 -1| 9
0 -5 5| -5
0 -4 -5| -28
--------
1 2 -1| 9
0 -5 5| -5
0 -4 -2| -28
-------- // дальше почему то идет не правельно
1 2 -1| 9
0 -5 5| -5
0 -4 -2| -24
--------
1 2 -1| 9
0 -5 5| -5
0 0 -2| -24
--------
1 2 -1| 9
0 -5 5| -5
0 0 -6| -24
--------
КОНЕЧНАЯ МАТРИЦА:

1 2 -1| 9
0 -5 5| -5
0 0 -6| -24
Ответ: x=3,y=5,z=4.

А В примере конечная матрица выглядит так:
1 2 -1| 9
0 1 -1| 1
0 0 1| 4
 
Текущее время: 07:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru