麻烦发到我的邮箱cqwangyucheng@126.com 谢谢了!!
#include<iostream.h>
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
#define N 20 //最大允许超静定次数
float A[N][N+1], qw;
int flag,n; //全局过渡变量
float max(int k);
float dietxixj(float xi,float xj,float EI) //计算系数
{
if(xi<=xj) //分情况用叠加法求挠曲线方程
{
return ((-1)*xi*xi*(3*xj-xi)/6/EI);
}
else
{
return ((-1)*xj*xj*(3*xi-xj)/6/EI);
}
}
void exchange(int r,int k) //交换r行和k行的系数
{
int i;
for(i=1;i<=n+1;i++)
A[0][i]=A[r][i];
for(i=1;i<=n+1;i++)
A[r][i]=A[k][i];
for(i=1;i<=n+1;i++)
A[k][i]=A[0][i];
}
float max(int k) //比校系数大小的函数
{
int i;
float temp=0;
for(i=k;i<=n;i++)
if(fabs(A[i][k])>temp)
{
temp=(float)(fabs(A[i][k])); //找到列中不为0的一行
flag=i; //用全局变量flag 得到所在行数
}
return temp;
}
void main ()
{
float y[N]; //用以存放方程的解
#include<iostream.h>
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
#define N 20 //最大允许超静定次数
float A[N][N+1], qw;
int flag,n; //全局过渡变量
float max(int k);
float dietxixj(float xi,float xj,float EI) //计算系数
{
if(xi<=xj) //分情况用叠加法求挠曲线方程
{
return ((-1)*xi*xi*(3*xj-xi)/6/EI);
}
else
{
return ((-1)*xj*xj*(3*xi-xj)/6/EI);
}
}
void exchange(int r,int k) //交换r行和k行的系数
{
int i;
for(i=1;i<=n+1;i++)
A[0][i]=A[r][i];
for(i=1;i<=n+1;i++)
A[r][i]=A[k][i];
for(i=1;i<=n+1;i++)
A[k][i]=A[0][i];
}
float max(int k) //比校系数大小的函数
{
int i;
float temp=0;
for(i=k;i<=n;i++)
if(fabs(A[i][k])>temp)
{
temp=(float)(fabs(A[i][k])); //找到列中不为0的一行
flag=i; //用全局变量flag 得到所在行数
}
return temp;
}
void main ()
{
float y[N]; //用以存放方程的解