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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Переполнение строки при считывании из файла http://www.cyberforum.ru/cpp-beginners/thread1089864.html
Считываю я строки из файла, в котором их 500 тысяч. Если строка начинается на R, то я записываю её в другой файл. Примерно на 312000-й строке мне выдаётся ошибка string subscript is out of range Вот отрывок кода: while(rts) { string s; getline(rts,s); if(s=='R') sorted<<s<<endl; } Что я делаю не так? Хотелось бы чтобы процесс шёл до конца файла. Писать нужно только на плюсах.
C++ Определить,содержит ли заданный массив группы простых элементов, и удалить вторую такую группу. Определить,содержит ли заданный массив группы простых элементов.Удалить из массива вторую группу таких элементов. Сначала я так понимаю ищем является ли число простым:затем ищем нахождение группы элементов:ввод массива,с выделением под новую память,а дальше что,так и не могу понять ? http://www.cyberforum.ru/cpp-beginners/thread1089829.html
Из заданного множества точек на плоскости выбрать две различные точки так C++
Из заданного множества точек на плоскости выбрать две различные точки так, чтобы количество точек, лежащих по разные стороны от прямой, проходящие через эти две точки, различались наименьшим образом.
C++ Не компилируется примитивный код
Ребят вчера поставил visual studio, всё норм создаю проект win 32 object, добавляю новый предмет файл с++, и при компиляции простого кода...примитивного #include<iostream> int main() { cout << "hello wrold" << endl; system("pause"); return 0; } выдет ошибку 1>------ Build started: Project: Learning, Configuration: Debug Win32 ------
C++ Вывести вектор, образуемый элементами главной диагонали матрицы, и результат умножения указанного вектора на заданную матрицу http://www.cyberforum.ru/cpp-beginners/thread1089795.html
Первую часть решила кое как, как записать числа из главной диагонали в отдельный массив и перемножить матрицу на матрицу? #include "stdafx.h" #include <iostream> #include <ctime> // в ней функция time using namespace std; int _tmain(int argc, _TCHAR* argv)
C++ Программа запрашивает число до тех пор, пока пользователь не нажмет 0, и выводит среднее арифметическое Только учусь писать на ! Нужна ваша помощь, домой задали вот такую задачу, Программа запрашивает число до тех пор, пока пользователь не нажмет 0. После этого выводит на экран среднее значения чисел кроме 0. Вчера только прошли Ду и Уаил! Заранее спасибо подробнее

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

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

05.02.2014, 13:36. Просмотров 436. Ответов 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;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru