0
点赞
收藏
分享

微信扫一扫

一、规则组织数学模型建立

悬灸人雪洋 2022-03-17 阅读 87

在这里插入图片描述在这里插入图片描述
很容易理解:从下向上、从左向右
第一列:三个黑两个白,(例如:黑为经纱,白为纬纱)
第二列:由于飞数是2,这里需要将每个位置都向上移动两个单位
第三列:以此类推,超出的经纬纱从下方补齐即可
在这里插入图片描述
代码实现:

#include <iostream>
#include<stdio.h>
using namespace std;

int main()
{
    int i,j,N1,N2,f,m;
    int c[10],d[10],a[100][100];
    printf("please input m:");
    scanf("%d",&m);
    for(i=0;i<=m-1;i++)
    {
        printf("please input C[%d]:",i+1);
        scanf("%d",&c[i]);
        printf("please input D[%d]:",i+1);
        scanf("%d",&d[i]);
    }
    N1=0;
    for(i=0;i<=m-1;i++)
    {
        N1=N1+c[i]+d[i];
    }
    N2=N1;
    printf("please input f:");
    scanf("%d",&f);

    if(f<0)f=N1+f;
    i=1;
    for(j=0;j<=m-1;j++)
    {
        while(c[j]>0)
        {
            a[N1-i+1][1]=1;
            c[j]--;
            i++;
        }
        while(d[j]>0)
        {
            a[N1-i+1][1]=0;
            d[j]--;
            i++;
        }
    }

    for(j=2;j<=N2;j++)
    {
        for(i=1;i<=N1;i++)
        {
            if((i+f)>N1) a[i][j] = a[i+f-N1][j-1];
            else a[i][j]=a[i+f][j-1];
        }
    }
    for(i=1;i<=N1;i++)
    {
        for(j=1;j<=N2;j++)
        {
            printf("%5d",a[i][j]);
        }
        printf("\n");
    }
    getchar();
    return 0;
}

运行效果如下:在这里插入图片描述

举报

相关推荐

0 条评论