菜鸟急需c\c++行列式的题的源代码!

来源:百度知道 编辑:UC知道 时间:2024/06/14 22:03:57
用c或c++编一个有关行列式的题
行列式的阶数为2~12(要输入的)
然后输入行列式
求一个东西的和
比如一个3阶行列式
x11 x12 x13 x11 x12 x13
x21 x22 x23 x21 x22 x23 (复制的一个)
x31 x32 x33 x31 x32 x33
求(x11+x22+x33)+(x12+x23+x31)-(x13+x22+x31)-(x12+x21+x33)的值
规律是两条直线(包括复制的那个)
n阶同理
要源程序
一个字母也不要少
谢谢!
pascal也行

#include<iostream>
using namespace std;

template<typename T>
void getArray(istream &in, T **arr, int n)
{
for(int i=0; i<n; ++i)
{
for(int j=0; j<n; ++j)
{
in>>arr[i][j];
}
}
}

template<typename T>
T caculateArray(T **arr, int n)
{
T res = (T)0;
int mid = (n+1)/2;
int p,q;
cout<<"res=";
for(int i=0; i<mid; ++i) //加的直线部分
{
p=0;
q=i;
if(i==0) cout<<"(";
else cout<<"+(";
for(int j=0; j<n; ++j)
{
if(j==0) cout<<arr[p][q];
else cout<<"+"<<arr[p][q];
res += arr[p][q];
++p;
++q;
if(q>=n) q=q-n;
}
cout<<")";
}

for(i=mid-1; i<n; ++i)//减的直线部分
{
p=0;
q=i;
cout<<"-(";
for(int j=0;