📄 wode
字号:
#include "stdio.h"
int qiuni(float* B,float* B1,int n)
{
int N=n;
int i;
int j;
float *FFF;
FFF=new float[N*N];
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
{
*(FFF+i*N+j)=*(B+i*N+j);
}
}
i=j=0;
int m;
m=0;
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
{
if(i==j)
*(B1+i*N+j)=1;
else *(B1+i*N+j)=0;
}
}
printf("B: \n");
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
{
printf("%.4f ",*(B+i*N+j));
}
printf("\n");
}
printf("B1: \n");
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
{
printf("%.4f ",*(B1+i*N+j));
}
printf("\n");
}
for(m=0;m<N;m++)
{
for(i=0;i<N;i++)
{
float b=*(B+i*N+m);
if(b!=0)
for(j=0;j<N;j++)
{
*(B+i*N+j)/=b;
*(B1+i*N+j)/=b;
}
}
for(i=0;i<N;i++)
{
if((i!=m)&&((*(B+i*N+m))!=0))
{
for(j=0;j<N;j++)
{
*(B+i*N+j)-=*(B+m*N+j);
*(B1+i*N+j)-=*(B1+m*N+j);
}
}
}
}
for(i=0;i<N;i++)
{
float ccc;
ccc=*(B+i*N+i);
for(j=0;j<N;j++)
{
*(B+i*N+j)/=ccc;
*(B1+i*N+j)/=ccc;
}
}
printf("B: *********\n");
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
{
printf("%.4f ",*(B+i*N+j));
}
printf("\n");
}
printf("B1: \n");
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
{
printf("%.4f ",*(B1+i*N+j));
}
printf("\n");
}
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
{
*(B+i*N+j)=*(FFF+i*N+j);
}
}
delete FFF;
return 1;
}
float CbB1b(float* Cb,int Cb_i,int Cb_j,float* B1,
int B1_i,int B1_j,float* b,int b_i,int b_j)
{
printf("\n");
int i;
int j;
i=j=0;
printf("Cb: %d %d \n",Cb_i,Cb_j);
for(i=0;i<Cb_i;i++)
{
for(j=0;j<Cb_j;j++)
{
printf("%.4f ",*(Cb+i*Cb_j+j));
}
printf("\n");
}
printf("B1: %d %d \n",B1_i,B1_j);
for(i=0;i<B1_i;i++)
{
for(j=0;j<B1_j;j++)
{
printf("%.4f ",*(B1+i*B1_j+j));
}
printf("\n");
}
printf(" b: %d %d \n",b_i,b_j);
for(i=0;i<b_i;i++)
{
for(j=0;j<b_j;j++)
{
printf("%.4f ",*(b+i*b_j+j));
}
printf("\n");
}
if((Cb_i!=1)||(Cb_j!=B1_i)||(B1_j!=b_i)||(b_j!=1))
{
printf("Array parment wrong!\n");
if((Cb_j!=B1_i)||(B1_j!=b_i))
{}
else printf(" save!\n");
}
float *XX;
XX= new float[Cb_i*B1_j];
printf("XX: \n");
for(i=0;i<Cb_i;i++)
{
for(j=0;j<B1_j;j++)
{
int k;
*(XX+i*B1_j+j)=0;
for(k=0;k<Cb_j;k++)
{
*(XX+i*B1_j+j)+=*(Cb+i*Cb_j+k)*(*(B1+k*B1_j+j));
}
printf("%.4f ",*(XX+i*B1_j+j));
}
printf("\n");
}
float *YY;
YY= new float[Cb_i*b_j];
printf("YY: \n");
for(i=0;i<Cb_i;i++)
{
for(j=0;j<b_j;j++)
{
int k;
*(YY+i*b_j+j)=0;
for(k=0;k<b_i;k++)
{
*(YY+i*b_j+j)+=*(XX+i*B1_j+k)*(*(b+k*b_j+j));
}
printf("%.4f ",*(YY+i*b_j+j));
}
printf("\n");
}
return *(YY);
return 0;
}
float CbB1p(float* Cb,int Cb_i,int Cb_j,float* B1,
int B1_i,int B1_j,float* b,int b_i,int b_j,float* N,int N_i,int N_j)
{
printf("\n");
int i;
int j;
i=j=0;
printf("Cb: %d %d \n",Cb_i,Cb_j);
for(i=0;i<Cb_i;i++)
{
for(j=0;j<Cb_j;j++)
{
printf("%.4f ",*(Cb+i*Cb_j+j));
}
printf("\n");
}
printf("B1: %d %d \n",B1_i,B1_j);
for(i=0;i<B1_i;i++)
{
for(j=0;j<B1_j;j++)
{
printf("%.4f ",*(B1+i*B1_j+j));
}
printf("\n");
}
printf(" b: %d %d \n",b_i,b_j);
for(i=0;i<b_i;i++)
{
for(j=0;j<b_j;j++)
{
printf("%.4f ",*(b+i*b_j+j));
}
printf("\n");
}
printf(" N: %d %d \n",N_i,N_j);
for(i=0;i<N_i;i++)
{
for(j=0;j<N_j;j++)
{
printf("%.4f ",*(N+i*N_j+j));
}
printf("\n");
}
if((Cb_i!=1)||(Cb_j!=B1_i)||(B1_j!=b_i)||(b_j!=1))
{
printf("Array parment wrong!\n");
if((Cb_j!=B1_i)||(B1_j!=b_i))
{}
else printf(" save!\n");
// return 1000001;
}
float *XX;
XX= new float[Cb_i*B1_j];
printf("XX: \n");
for(i=0;i<Cb_i;i++)
{
for(j=0;j<B1_j;j++)
{
int k;
*(XX+i*B1_j+j)=0;
for(k=0;k<Cb_j;k++)
{
*(XX+i*B1_j+j)+=*(Cb+i*Cb_j+k)*(*(B1+k*B1_j+j));
}
printf("%.4f ",*(XX+i*B1_j+j));
}
printf("\n");
}
float *YY;
YY= new float[Cb_i*b_j];
printf("YY: \n");
for(i=0;i<Cb_i;i++)
{
for(j=0;j<b_j;j++)
{
int k;
*(YY+i*b_j+j)=0;
for(k=0;k<b_i;k++)
{
*(YY+i*b_j+j)+=*(XX+i*B1_j+k)*(*(b+k*b_j+j));
}
printf("%.4f ",*(YY+i*b_j+j));
}
printf("\n");
}
printf("N:\n");
for(i=0;i<N_i;i++)
{
for(j=0;j<N_j;j++)
{
*(N+i*N_j+j)=*(YY+i*b_j+j);
printf("Z%d%d=%.4f ",i,j,*(N+i*N_j+j));
}
printf("\n");
}
return 0;
}
int getmaxZn_Cn(float* Z,int Z_i,int Z_j,float* Cn,int Cn_i,int Cn_j)
{
if((Z_i!=1)||(Cn_i!=1))
{
printf("Zn Cn i wrong");
return 10000;
}
if(Z_j!=Cn_j)
{
printf("Zn Cn j wrong");
return 10001;
}
float *countermax;
countermax=new float[1*Z_j];
printf("max counter...\n");
int j;
for(j=0;j<Z_j;j++)
{
*(countermax+j)=*(Z+j)-*(Cn+j);
printf("%.4f ",*(countermax+j));
}
printf("\n");
float xx=*countermax;
int i=0;
for(j=0;j<Z_j;j++)
{
if(*(countermax+j)>xx)
{
xx=*(countermax+j);
i=j;
}
}
printf("max is :%.4f\n",xx);
if(xx<0)
{
printf("\nbecause max<0, find result. \n");
return 65534;
}
return i;
}
int B1b(float* B1,int B1_i,int B1_j,float* b,int b_i,int b_j,float* b1,int b1_i,int b1_j)
{
int i;
int j;
float *QQ;
QQ= new float[B1_i*b_j];
printf("QQ: \n");
for(i=0;i<B1_i;i++)
{
for(j=0;j<b_j;j++)
{
int k;
*(QQ+i*b_j+j)=0;
for(k=0;k<b_i;k++)
{
*(QQ+i*b_j+j)+=*(B1+i*B1_j+k)*(*(b+k*b_j+j));
}
printf("%.4f ",*(QQ+i*b_j+j));
}
printf("\n");
}
printf("b1:\n");
for(i=0;i<b1_i;i++)
{
for(j=0;j<b1_j;j++)
{
*(b1+i*b_j+j)=*(QQ+i*b_j+j);
printf("%.4f ",*(b1+i*b_j+j));
}
printf("\n");
}
return 0;
}
int B1Pn(float* B1,int B1_i,int B1_j,float* N,int N_i,int N_j,int result,float* Yn,int Yn_i,int Yn_j)
{
if((B1_i!=B1_j)||(B1_j!=N_i)||(B1_i!=Yn_i))
{
printf("result4 wrong!\n");
return 1001;
}
int i;
int j;
i=j=0;
for(i=0;i<B1_i;i++)
{
*(Yn+i)=0;
for(j=0;j<B1_i;j++)
{
*(Yn+i)+=*(B1+i*B1_j+j)*(*(N+j*N_j+result));
}
}
printf("Yn: %d*%d\n",Yn_i,Yn_j);
for(i=0;i<Yn_i;i++)
printf("%.4f \n",*(Yn+i));
return 0;
}
int getminbYn(float* b,int b_i,int b_j,float* Yn,int Yn_i,int Yn_j)
{
printf("getminbYN()start:\n");
if((b_i!=Yn_i)||(b_j!=Yn_j)||(b_j!=1)||(Yn_j!=1))
{
printf("getminbYn wrong");
return 0;
}
printf("b:%d*%d Yn:%d*%d\n",b_i,b_j,Yn_i,Yn_j);
int i;
int j;
i=j=0;
for(i=0;i<b_i;i++)
{
printf("%.4f %.4f\n",*(b+i),*(Yn+i));
}
printf("\n");
float* PP;
PP=new float[b_i];
printf("PP: \n");
for(i=0;i<b_i;i++)
{
if((*(Yn+i))<=0)
*(PP+i)=-1;
else
*(PP+i)=(*(b+i))/(*(Yn+i));
printf("%.4f \n",*(PP+i));
}
j=-1;
float CCC;
int k;
k=0;
for(i=0;i<b_i;i++)
{
if((*(PP+i))>0)
{
j=0;
CCC=*(PP+i);
k=i;
break;
}
}
if(j!=0)
{
printf("find result !");
return 10001;
}
printf("find: \n");
printf("%d\n",k);
for(i=0;i<b_i;i++)
{
if((*(PP+i))>0)
{
if((*(PP+i))<CCC)
{
CCC=*(PP+i);
k=i;
}
}
}
printf("find over! \nresult:%d\n",k);
return k+1;
return 0;
}
int changeBN(float* B,int B_i,int B_j,int result5,float* N,int N_i,int N_j,int result,float* Cb,float* Cn)
{
int i;
float F;
i=0;
int j;
printf("B: \n");
for(i=0;i<B_i;i++)
{
for(j=0;j<B_j;j++)
{
printf("%.4f ",*(B+i*B_j+j));
}
printf("\n");
}
printf("N: \n");
for(i=0;i<N_i;i++)
{
for(j=0;j<N_j;j++)
{
printf("%.4f ",*(N+i*N_j+j));
}
printf("\n");
}
for(i=0;i<B_i;i++)
{
F=*(B+i*B_j+result5);
*(B+i*B_j+result5)=*(N+i*N_j+result);
*(N+i*N_j+result)=F;
}
F=*(Cb+result5);
*(Cb+result5)=*(Cn+result);
*(Cn+result)=F;
printf("B: ***************** \n");
for(i=0;i<B_i;i++)
{
for(j=0;j<B_j;j++)
{
printf("%.4f ",*(B+i*B_j+j));
}
printf("\n");
}
printf("N: \n");
for(i=0;i<N_i;i++)
{
for(j=0;j<N_j;j++)
{
printf("%.4f ",*(N+i*N_j+j));
}
printf("\n");
}
printf("\n");
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -