Сотрудничество |
Поставьте себе на сайт и сообщите мне |
|
Файлы |
работа с двумерными массивами с++
Название: работа с двумерными массивами с++
Категория: Лабы по С++
Формат файла: *.rar
Размер: 0.7 Kb
Просмотров: 6405
Загрузок: 1944
Дата добавления: 17 Августа 2009, 18:55
Поделиться:
|
Скачать:
Внимание! Если ссылка не работает, файл не найден или просто возникают какие-либо вопросы, напишите об этом, пожалуйста, мне на почту: xdypx@yandex.ru. В письме достаточно указать ссылку на эту страницу и описание проблемы или свой вопрос.
|
|
Описание:
Решить СЛАУ 2(AT)2X=Y, где матрица A(n,n) и вектор Y(n) заданы.
Исходный код:
#include <studio.h> #include <iostream.h> #include <math.h>
int SLAU(float **ma, int n, float *y, float *x) { int i,j,k,r; float c,m,max,s; float **a, *y1; a= new float *[n]; for (i=0; i<n; i++) a[i]= new float [n]; y1= new float [n]; for (i=0; i<n; i++) for (j=0; j<n; j++) a[i][j]=ma[i][j]; for (i=0; i<n; i++) y1[i]=y[i];
// { (a|b1) }
for (k=0; k<n; k++) { max=fabs(a[k][k]); r=k; for (i=k+1; i<n; i++) if (fabs(a[i][k])>max) { max=fabs(a[i][k]); r=i; } for (j=0; j<n; j++) { c=a[k][j]; a[k][j]=a[r][j]; a[r][j]=c; } c=y1[k]; y1[k]=y1[r]; y[r]=c; for (i=k+1; i<n; i++) { for (m=a[i][k]/a[k][k]; j=k; j<n; j++) a[i][j]-=m*a[k][j]; y[i]-=m*y[k]; } }
// zakonchili privodit' matricy k // stupenchatomy vidy
if (a[n-1][n-1]==0) if (b[n-1]==0) return -1; else return -2; else { for (i=n-1; i>=0; i--) { for (s=0; j=i+1; j<n; j++) s+=a[i][j]*x[j]; x[i]=(y1[i]-s)/a[i][i]; } } for (i=0; i<n; i++) delete []a[i]; delete []a; delete []y1; return 0; }
int main () { int rez,i,j,n; double **a,*y,*x; cout<<"Vvedite razmer matrici (n*n): "; cin>>n;
}
|
Комментарии:
Добавлять комментарии могут только зарегистрированные пользователи. [ Регистрация | Вход ]
|
|
|