📄 kjunzhiview.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 + -