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

📄 kjunzhiview.cpp

📁 k_junzhi大家能明白么?就是用来分类的方法
💻 CPP
字号:
// KJUNZHIView.cpp : implementation of the CKJUNZHIView class
//

#include "stdafx.h"
#include "KJUNZHI.h"

#include "KJUNZHIDoc.h"
#include "KJUNZHIView.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CKJUNZHIView

IMPLEMENT_DYNCREATE(CKJUNZHIView, CView)

BEGIN_MESSAGE_MAP(CKJUNZHIView, CView)
	//{{AFX_MSG_MAP(CKJUNZHIView)
	ON_COMMAND(ID_KJUNZHI, OnKjunzhi)
	//}}AFX_MSG_MAP
	// Standard printing commands
	ON_COMMAND(ID_FILE_PRINT, CView::OnFilePrint)
	ON_COMMAND(ID_FILE_PRINT_DIRECT, CView::OnFilePrint)
	ON_COMMAND(ID_FILE_PRINT_PREVIEW, CView::OnFilePrintPreview)
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CKJUNZHIView construction/destruction

CKJUNZHIView::CKJUNZHIView()
{
	// TODO: add construction code here

}

CKJUNZHIView::~CKJUNZHIView()
{
}

BOOL CKJUNZHIView::PreCreateWindow(CREATESTRUCT& cs)
{
	// TODO: Modify the Window class or styles here by modifying
	//  the CREATESTRUCT cs

	return CView::PreCreateWindow(cs);
}

/////////////////////////////////////////////////////////////////////////////
// CKJUNZHIView drawing

void CKJUNZHIView::OnDraw(CDC* pDC)
{
	CKJUNZHIDoc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);
	// TODO: add draw code for native data here
}

/////////////////////////////////////////////////////////////////////////////
// CKJUNZHIView printing

BOOL CKJUNZHIView::OnPreparePrinting(CPrintInfo* pInfo)
{
	// default preparation
	return DoPreparePrinting(pInfo);
}

void CKJUNZHIView::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
	// TODO: add extra initialization before printing
}

void CKJUNZHIView::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
	// TODO: add cleanup after printing
}

/////////////////////////////////////////////////////////////////////////////
// CKJUNZHIView diagnostics

#ifdef _DEBUG
void CKJUNZHIView::AssertValid() const
{
	CView::AssertValid();
}

void CKJUNZHIView::Dump(CDumpContext& dc) const
{
	CView::Dump(dc);
}

CKJUNZHIDoc* CKJUNZHIView::GetDocument() // non-debug version is inline
{
	ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CKJUNZHIDoc)));
	return (CKJUNZHIDoc*)m_pDocument;
}
#endif //_DEBUG

/////////////////////////////////////////////////////////////////////////////
// CKJUNZHIView message handlers

void CKJUNZHIView::OnKjunzhi() 
{
	// TODO: Add your command handler code here
	CDC* pdc=GetDC();
	//pdc->TextOut(20,40,"zzzzzz");
	double x[20][2];
	double z[2][2]={0,0,4,4};
	double z1[1][2]={0,0};
	double z2[1][2]={0,0};
	double s1[20][2],s2[20][2];
	int i,j,k,count1=0;
	for(i=0;i<40;i++)
	{
		*(*s1+i)=0;
		*(*s2+i)=0;
	}
	for(i=0;i<16;i++)
	{
		*(*x+i)=1+i*0.1;
	}
	for(i=0;i<24;i++)
	{
		*(*x+16+i)=6+i*0.1;
	}
	for(count1=0;count1<10;count1++)
	{
		z1[0][0]=z1[0][1]=z2[0][0]=z2[0][1]=0;
		for(i=0,j=0,k=0;i<20;i++)
		{
			if(((x[i][0]-z[0][0])*(x[i][0]-z[0][0])+(x[i][1]-z[0][1])*(x[i][1]-z[0][1]))<((x[i][0]-z[1][0])*(x[i][0]-z[1][0])+(x[i][1]-z[1][1])*(x[i][1]-z[1][1])))
			{
				s1[j][0]=x[i][0];
				s1[j][1]=x[i][1];
				/*printf("\n%f	%f",s1[j][0],s1[j][1]);*/
				j++;
			}
			else
			{
				s2[k][0]=x[i][0];
				s2[k][1]=x[i][1];
				k++;
			}
		}
		for(i=0;i<j;i++)
		{
			z1[0][0]=z1[0][0]+s1[i][0]/(j+1);
			z1[0][1]=z1[0][1]+s1[i][1]/(j+1);
		}
		
		for(i=0;i<k;i++)
		{
			z2[0][0]=z2[0][0]+s2[i][0]/(k+1);
			z2[0][1]=z2[0][1]+s2[i][1]/(k+1);
		}
	//	printf("\n%f	%f	%f	%f	",z1[0][0],z1[0][1],z2[0][0],z2[0][1]);
		if((((z1[0][0]-z[0][0])*(z1[0][0]-z[0][0])+(z1[0][1]-z[0][1])*(z1[0][1]-z[0][1]))>0.1)||(((z2[0][0]-z[1][0])*(z2[0][0]-z[1][0])+(z2[0][1]-z[1][1])*(z2[0][1]-z[1][1]))>0.1))
		{
			z[0][0]=z1[0][0];
			z[0][1]=z1[0][1];
			z[1][0]=z2[0][0];
			z[1][1]=z2[0][1];
		}
		
		else
			break;
		//getch();
		
	}
	//printf("\n%d",count);
	char interativecounts[20];
	sprintf(interativecounts,"The count1 is: %d",count1);
	pdc->TextOut(140,10,interativecounts);
	char buff[20][10];
	pdc->TextOut(20,10,"chushijuzhen");
	for(i=0;i<20;i++)
	{
		sprintf(buff[i],"[%.2f,%.2f]",x[i][0],x[i][1]);
		pdc->TextOut(20,25+i*15,buff[i]);
	}


	char center[80];
	sprintf(center,"The julei center is :%.4f  %.4f  %.4f  %.4f",z[0][0],z[0][1],z[1][0],z[1][1]);
	pdc->TextOut(300,10,center);
	
	
}

⌨️ 快捷键说明

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