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

Написать главную функцию программы, в которой бы вводилась простая матрица и выводилась обратная ей - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Переполнение строки при считывании из файла http://www.cyberforum.ru/cpp-beginners/thread1089864.html
Считываю я строки из файла, в котором их 500 тысяч. Если строка начинается на R, то я записываю её в другой файл. Примерно на 312000-й строке мне выдаётся ошибка string subscript is out of range...
C++ Определить,содержит ли заданный массив группы простых элементов, и удалить вторую такую группу. Определить,содержит ли заданный массив группы простых элементов.Удалить из массива вторую группу таких элементов. Сначала я так понимаю ищем является ли число простым:затем ищем нахождение группы... http://www.cyberforum.ru/cpp-beginners/thread1089829.html
Из заданного множества точек на плоскости выбрать две различные точки так C++
Из заданного множества точек на плоскости выбрать две различные точки так, чтобы количество точек, лежащих по разные стороны от прямой, проходящие через эти две точки, различались наименьшим образом.
C++ Не компилируется примитивный код
Ребят вчера поставил visual studio, всё норм создаю проект win 32 object, добавляю новый предмет файл с++, и при компиляции простого кода...примитивного #include<iostream> int main() { cout <<...
C++ Вывести вектор, образуемый элементами главной диагонали матрицы, и результат умножения указанного вектора на заданную матрицу http://www.cyberforum.ru/cpp-beginners/thread1089795.html
Первую часть решила кое как, как записать числа из главной диагонали в отдельный массив и перемножить матрицу на матрицу? #include "stdafx.h" #include <iostream> #include <ctime> // в ней...
C++ Программа запрашивает число до тех пор, пока пользователь не нажмет 0, и выводит среднее арифметическое Только учусь писать на ! Нужна ваша помощь, домой задали вот такую задачу, Программа запрашивает число до тех пор, пока пользователь не нажмет 0. После этого выводит на экран среднее значения чисел... подробнее

Показать сообщение отдельно
Alexandr1966
25 / 25 / 1
Регистрация: 17.12.2012
Сообщений: 438

Написать главную функцию программы, в которой бы вводилась простая матрица и выводилась обратная ей - C++

05.02.2014, 13:36. Просмотров 451. Ответов 4
Метки (Все метки)

Здравствуйте))) Есть код для функции программы, которая вычисляет обратную матрицу методом гаусса. Помогите пожалуйста написать основную главную функцию программы, в которой бы вводилась простая матрица (сначала задавался размер квадратной матрицы, а потом сами элементы), а затем выдавалась бы на экран обратная матрица. Программа должна работать в консольном приложении VS2008.
Вот код функции:
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
int gaus_obr(int cnt_str,double **mass,double **&M_obr)
{
int i,j,k;
//создание единичной матрицы
M_obr=new double* [cnt_str];
for(i=0;i<cnt_str;i++)
{
M_obr[i]=new double [cnt_str];
for(j=0;j<cnt_str;j++)M_obr[i][j]=0;
M_obr[i][i]=1;
}
//прямой ход методом Гаусса
double a,b;
for(i=0;i<cnt_str;i++)
{
a=mass[i][i];
for(j=i+1;j<cnt_str;j++)
{
b=mass[j][i];
for(k=0;k<cnt_str;k++)
{
mass[j][k]=mass[i][k]*b-mass[j][k]*a;
M_obr[j][k]=M_obr[i][k]*b-M_obr[j][k]*a;
}
}
}
//обратный ход вычисления элементов обратной матрицы
double sum;
for(i=0;i<cnt_str;i++)
{
for(j=cnt_str-1;j>=0;j--)
{
sum=0;
for(k=cnt_str-1;k>j;k--)
sum+=mass[j][k]*M_obr[k][i];
if(mass[j][j]==0)
{
for(i=0;i<cnt_str;i++)
delete []M_obr[i];
delete []M_obr;
return 0;
}
M_obr[j][i]=(M_obr[j][i]-sum)/mass[j][j];
}
}
return 1;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru