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

📄 get_matrix.cpp

📁 LDPC的完整c语言开发源程序代码
💻 CPP
字号:
#include "LDPC_head.h"
#include <stdlib.h>
#include <iostream>

matrix_bit *get_matrix()
{
	matrix_bit *matrix;
	unsigned int i;
	unsigned int j;
	FILE	*fp;

	matrix=(struct matrix_bit *)malloc(sizeof(struct matrix_bit));//建立一个指向该结构体的指针
	fp=fopen("matrix1.txt","r");
	if(fp==NULL)
	{
		cout<<"can't open the file!"<<endl;
		exit(0);
	}
	else
	{
		fscanf(fp,"%d\n",&(matrix->N));  //1008
		fscanf(fp,"%d\n",&(matrix->M1)); //504   
		fscanf(fp,"%d\n",&(matrix->M));  //504
		fscanf(fp,"%d\n",&(matrix->G_mcw)); //281 
		fscanf(fp,"%d\n",&(matrix->H_mrw)); //6


		
		//get G,N*G_mcw
		matrix->G=(unsigned int *)malloc((sizeof(unsigned int))*matrix->N*matrix->G_mcw);
		for(i=0;i<matrix->N*matrix->G_mcw;i++)//i<1008*281
		{
			matrix->G[i]=0;
		}
		for(i=0;i<matrix->G_mcw;i++)
		{
			for(j=0;j<matrix->N;j++)
			{
				fscanf(fp,"%d\n",&(matrix->G[i*matrix->N+j]));
			}
		}

	
		//get H
		matrix->H=(unsigned int *)malloc((sizeof(unsigned int))*matrix->H_mrw*matrix->M);
		for(i=0;i<matrix->H_mrw*matrix->M;i++) 
		{
			matrix->H[i]=0;
		}
		for(i=0;i<matrix->M;i++)
		{
			for(j=0;j<matrix->H_mrw;j++)
			{
				fscanf(fp,"%d\n",&(matrix->H[i*matrix->H_mrw+j]));
			}
		}

	//	for(int pp = 0;pp <50;pp++)
	//		std::cout<<pp<<" "<<matrix->H[pp]<<"\n";
		fclose(fp);

	}
	return(matrix);
}

⌨️ 快捷键说明

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