求一个简单的程序

来源:百度知道 编辑:UC知道 时间:2024/05/31 12:56:37
f[1]=a[1][1]*x[1]+a[1][2]*x[2]+ ••••a[1][n]x[n]-b[1]
f[2]=a[2] [1]*x[1]+a[2][2]*x[2]+ ••••a[2][n]x[n]-b[2]



f[n]=a[n][1]*x[1]+a[n][2]*x[2]+ ••••a[n][n]x[n]-b[n]

sum=f[1]*f[1]+f[2]*f[2]……f[n]*f[n]

写了一个模板函数,可以针对三个数组元素分别是不同类型的情况。初步设定n为10,你自己可以改变SIZE的大小来改变数组的大小。数组的初始化工作就自己来完成吧!程序在VC2005下运行无误!

#include <iostream>
using namespace std;

#define SIZE 10

template <class T>
T sum(T a[SIZE][SIZE],T x[SIZE],T b[SIZE])
{
T sum=0;
T total[SIZE] = {0};
for (int i=0;i<SIZE;i++)
{
for (int j=0;j<SIZE;j++)
{
total[i] += a[i][j]*x[j];
}
total[i] -= b[i];
}
for (int i=0;i<SIZE;i++)
{
sum+=total[i];
}
return sum;
}

int main()
{
int a[SIZE][SIZE],x[SIZE],b[SIZE];
//对三个数组进行初始化;
sum(a,x,b);
return 1;
}

for(sum=0,i=1;i<=n;i++)
{
for(axn=0,j=1;j<=n;j++) axn+=a[i][j]*x[j];
fn=axn-b[i];
sum+=fn*fn;
}