pattern.cpp

来自「用C语言实现了ISODATA算法,包括ISODATA.vcproj」· C++ 代码 · 共 77 行

CPP
77
字号
// Pattern.cpp

#include "stdafx.h"
#include "Pattern.h"

extern int dim;

double Pattern::Distance(const Pattern x1, const Pattern x2)
{
	double temp = 0.0;
	for(int i=0;i<dim;i++)
		temp += (x1.x[i] - x2.x[i])*(x1.x[i] - x2.x[i]);

	return sqrt(temp);	
}

Pattern::Pattern()
{
	n = 0;
	for(int i=0;i<MAXDIM;i++)
		x[i] = 0.0;
};

Pattern::Pattern(int i, double x1, double x2, double x3, double x4)
{
	Pattern();
	n = i;
	x[0] = x1;
	x[1] = x2;
	x[2] = x3;
	x[3] = x4;
}

Pattern & Pattern::operator =(const Pattern & pattern)
{
	n = pattern.n;
	for(int i=0;i<dim;i++)
		x[i] = pattern.x[i];

	return *this;
}

Pattern & Pattern::operator +=(const Pattern &pattern)
{
	n = 0;
	for(int i=0;i<dim;i++)
		x[i] += pattern.x[i];

	return *this;
}

Pattern & Pattern::operator /=(const int num)
{
	for(int i=0;i<dim;i++)
		x[i] /= num;

	return *this;
}

Pattern operator +(const Pattern &pattern1, const Pattern &pattern2)
{
	Pattern pattern;
	pattern.n = 0;
	for(int i=0;i<dim;i++)
		pattern.x[i] = pattern1.x[i] + pattern2.x[i];

	return pattern;
}

Pattern operator *(const int &num, const Pattern &pattern)
{
	Pattern p;
	for(int i=0;i<dim;i++)
		p.x[i] = num * pattern.x[i];

	return p;
}

⌨️ 快捷键说明

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