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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.04.2011, 18:29   #1
kati412
Новичок
Джуниор
 
Регистрация: 09.04.2011
Сообщений: 2
По умолчанию Обратная матрица

У меня есть программа,которая находит обратную матрицу(используется метод жордано).Как ее дописать, чтобы при умножении исходной матрицы на обратную получилась единичная??!
#include <iostream.h>
#include <conio.h>
#include <stdio.h>
#include <fstream.h>
const N=8;
const M=16;

void Massiv(int n,float a[N+1][2*N+1])
{
int i,j;
printf("Њ*ваЁж* A:\n");
for (i=1;i<=n;i++)
{
for (j=1;j<=n;j++)
printf("%4.0f",a[i][j]," ");
printf("\n");
}
}

void Read(float mas[N+1][2*N+1],int &count)
{
char name[10];
printf("\n‚ўҐ¤ЁвҐ Ё¬п д*©«*:\n");
scanf("%s",&name);

ifstream file(name);
file>>count;
for(int i=1; i<=count; i++)
for (int j=1;j<=count; j++)
file>>mas[i][j];
file.close();
for(i=1;i<=count;i++)
{
for(int j=count+1;j<=2*count;j++)
{
if (i==j-count)
mas[i][j]=1;
if (i!=j-count)
mas[i][j]=0;
}
}
}

void Jordan(float a[N+1][2*N+1],int n)
{
float s;
float t[N+1][N+1];
int i,j,k;
for (k=1;k<=n;k++)
{
for (i=1;i<=k-1;i++)
{
t[i][k]=a[i][k]/a[k][k];
a[i][k]=0;
for (j=k+1;j<=2*N;j++)
a[i][j]=a[i][j]-t[i][k]*a[k][j];
}

for (i=k+1;i<=n;i++)
{
t[i][k]=a[i][k]/a[k][k];
a[i][k]=0;
for (j=k+1;j<=2*N;j++)
a[i][j]=a[i][j]-t[i][k]*a[k][j];
}

}
for (i=1;i<=n;i++)
for (j=1;j<=2*n;j++)
a[i][j]=a[i][j]/a[i][i];
printf("ЋЎа*в**п ¬*ваЁж*:\n");
for (i=1;i<=n;i++)
{
for (j=n+1;j<=2*n;j++)
printf("%4.0f",a[i][j]," ");
printf("\n");
}
}

void main()
{
float a[N+1][2*N+1];
int n,k;
float s=0;
clrscr();
Read(a,n);
Massiv(n,a);
Jordan(a,n);
getch();
return;
}

Файл содержит:
8
1 1 1 1 1 1 1 1
1 2 1 1 1 1 1 1
1 1 2 1 1 1 1 1
1 1 1 2 1 1 1 1
1 1 1 1 2 1 1 1
1 1 1 1 1 2 1 1
1 1 1 1 1 1 2 1
1 1 1 1 1 1 1 2
10
9
9
9
9
9
9
9
kati412 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обратная матрица ВасяСВВ Общие вопросы C/C++ 1 30.03.2011 20:52
Обратная матрица на VB Vitek.i Помощь студентам 1 21.01.2011 19:34
Обратная матрица tural Помощь студентам 0 18.11.2010 18:32
обратная матрица LastBreath Помощь студентам 1 04.06.2010 20:30
Обратная матрица Шахрия Помощь студентам 1 26.10.2009 17:28