⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 encoder.c

📁 译码器工作模拟C语言实现 译码器工作模拟C语言实现
💻 C
字号:
/* Powered by Peacock */
#include <stdio.h>
#include <math.h>
#define C 10

main()
{
    int n;
    int k;
    int l;
    int i,p,q;
    int x,y;
    int g[C][C][C];
    int m[C][C];
    int outcode[C];
    int buff[C][C];

    /*input module*/
    printf("Input (n,k,l):\n");
    scanf("%d%d%d",&n,&k,&l);
    printf("Input info bit group M:\n");
    for(i=0;i<=l;i++)
    {
        printf("  Input m(%d): ",i);
        for(p=0;p<=k-1;p++)
        {
            scanf("%d",&m[i][p]);
        }
    }
    printf("Input the encoder structure:\n");
    for(i=0;i<=l;i++)                               /* l+1 groups , column in graph ----*/
    {
        for(p=0;p<=k-1;p++)                         /* k elements in one group , row in graph  | */
        {
            printf("    In m(%d)(%d):\n",i,p);  	
            for(q=0;q<n;q++)                		/* n */
        	{
                printf("        Relation with [%d] ?(1 for yes,0 for no):",q);
                scanf("%d",&g[p][i][q]);            /* g[row][column][n]*/
        	}
        }
    }
    /*matrix caculation*/
    for(i=0;i<=l;i++)
    {
        for(p=0;p<=n-1;p++)
    	{
            for(x=0;x<=k-1;x++)
    		{
                buff[i][p]+=m[l-i][x]*g[x][i][p];
    		}
    	}
    }
    /* manufacture & outcode*/
    printf("The output code is:");
    for(i=0;i<=n-1;i++)
    {
        for(p=0;p<=k-1;p++)
    	{
            outcode[i]+=buff[p][i];
    	}
        printf("%d",outcode[i]%2);
    }
    getch();
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -