东莞做网站需要多少钱,东莞东城楼盘,建设网站时间推进表,网站中flash基础概念公式推到可参考该专栏下的前几篇博文。
经山形组织图#xff1a;
左半部分#xff1a;#xff0c;3上2下1上2下#xff0c;右斜#xff0c;飞数为1 右半部分#xff1a;#xff0c;3上2下1上2下#xff0c;左斜#xff0c;飞数为-1
左右两部分只有飞数是相…基础概念公式推到可参考该专栏下的前几篇博文。
经山形组织图
左半部分3上2下1上2下右斜飞数为1 右半部分3上2下1上2下左斜飞数为-1
左右两部分只有飞数是相反数经纬纱组织点的运动规律保持不变。
一、求解二维矩阵的行列数即经纬纱循环数N1、N2
由经山组织图可观察得知左半部分为左斜飞数为1右半部分为右斜飞数为-1。 严格意义上来讲经山组织不属于规则组织但是若从中间一分为二左右两部分都为规则组织中的斜纹组织。 需要知道Kj指明山峰的位置即可 行数的话只需要将获取组织的一般形式的分子分母依次求和即可即纬纱循环数N1Σ(cidi)i∈[1,m]。 列数的话因为经山组织存在一个山峰故是奇数列其中以山峰Kj为划分左半部分为Kj列(包含山峰所在列)右半部分为Kj - 2列故其经纱循环数N22 × Kj - 2。
二、求第一列的元素值
其中i1,2,3…,N1。
三、左半部分——从第二列到Kj列其飞数一直保持不变可根据求规则组织的方法求解[2,Kj]列
其中i1,2,3...,N1j2,3,...,Kj
四、右半部分——求解Kj1到N2列其飞数也一直保持不变但未原来飞数的负数也可根据求规则组织的方法求解
通过公式可将负飞数转换为正数
再跟2一样进行求解规则组织 其中i1,2,3...,N1jKj 1,...,N2
代码实现
#include iostream
#includestdio.h
using namespace std;int main()
{int i,j,N1,N2,f,m,kj;//kj表示山峰的位置从而确定出总列数N2int c[10],d[10],a[100][100];printf(please input m:);scanf(%d,m);for(i0;im-1;i){printf(please input C[%d]:,i1);scanf(%d,c[i]);printf(please input D[%d]:,i1);scanf(%d,d[i]);}printf(please input kj:);scanf(%d,kj);//输入山峰位置从而确定出总列数N10;//行数初始化即纬纱循环数初始化之后需要累加for(i0;im-1;i){N1N1c[i]d[i];}N22*kj-2;//总列数printf(please input f:);scanf(%d,f);if(f0)fN1f;//若飞数为负数通过公式转换成正数/*
对第1列进行赋值
*/i1;//先对第一列赋值从第一列的第一行开始for(j0;jm-1;j){while(c[j]0){a[N1-i1][1]1;//因为是分子所有值都赋值为1c[j]--;i;}while(d[j]0){a[N1-i1][1]0;//因为是分母所有值都赋值为0d[j]--;i;}}/*
对2到kj列 进行赋值
*/for(j2;jkj;j){for(i1;iN1;i){if((if)N1) a[i][j] a[if-N1][j-1];else a[i][j]a[if][j-1];}}fN1-f;//求kj列到N2列右半部分的飞数需要将负值转变为正数/*
对kj列到N2列 进行赋值
*/for(jkj1;jN2;j){for(i1;iN1;i){if((if)N1) a[i][j] a[if-N1][j-1];else a[i][j]a[if][j-1];}}/*
输出二维数组a[i][j]
*/for(i1;iN1;i){for(j1;jN2;j){printf(%5d,a[i][j]);}printf(\n);}getchar();return 0;
}
运行效果如下