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

📄 glinear.cpp

📁 自己编的一个线性码的类。可以添加到需要的工程中。
💻 CPP
字号:
#include "StdAfx.h"
#include ".\glinear.h"
#include<iostream>
using namespace std;

GLinear::GLinear(void):Linear(),temp(NULL)
{
	G=NULL;
}

GLinear::~GLinear(void)
{
	delete[]G;
}

void GLinear::Inital(int **m1)
{
	int i,j;
	if(G==NULL||m1==NULL||m==0||n==0)
		return;
	else{
		for(i=0;i<n;i++)
			for(j=0;j<m;j++)
				G[i][j]=m1[i][j];
	}
}


GLinear::GLinear(int **m1,int a,int b):Linear(NULL,a,b),temp(NULL)
{
	G=new (int*)[a];
	for(int i=0;i<n;i++)
		G[i]=new int[b];
	if(G==NULL)
	{
		cerr<<"Error,Not enough memory!";
		exit(1);
	}
	else{
		Inital(m1);
	}
}

int *GLinear::operator *(int *m1)
{
	int i,j;
	for(i=0;i<m;i++)
		for(j=0;j<n;j++)
			temp[i]=G[i][j]*m1[j];
	return temp;
}

void GLinear::print(int *m1)//just used for GLinear::print()
{
	for(int i=0;i<m;i++)
		cout<<temp[i]<<'  ';
	cout<<endl;
}

int *&operator++(int *m1)  //just used for GLinear::print()
{
	int i=0;
	while(i<n)
	{
		m1[i]+=1;
		if(m1[i]==2) 
		{
			m1[i]=0;
			i++;
		}
	}
	return m1;
}


void GLinear::print()
{
	int i,j;
	int *x_temp=new int[n];
    for(i=0;i<n;i++)
		x_temp[i]=0;
	//产生信息:
	for(i=0;i<2^n-1;i++)
	{
		temp=G*x_temp;
		print(temp);
		++x_temp;
	}
}



	



⌨️ 快捷键说明

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