亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? sgaview.cpp

?? 用開(kāi)發(fā)語(yǔ)言vc++編程實(shí)現(xiàn)用遺傳算法求解函數(shù)f=x*sin(10*x)+1.0的最大值。
?? CPP
字號(hào):
// SGAView.cpp : implementation of the CSGAView class
//

#include "stdafx.h"
#include "SGA.h"

#include "SGADoc.h"
#include "SGAView.h"
#include "math.h"
#include <stdlib.h>
#include <string.h>
#define Pi 3.1415926

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

/////////////////////////////////////////////////////////////////////////////
// CSGAView

IMPLEMENT_DYNCREATE(CSGAView, CScrollView)

BEGIN_MESSAGE_MAP(CSGAView, CScrollView)
	//{{AFX_MSG_MAP(CSGAView)
	ON_COMMAND(ID_INPUTPARAM, OnInputParam)
	ON_COMMAND(ID_RUNGA, OnRunGA)
	ON_COMMAND(ID_FIMAGE, OnFimage)
	ON_UPDATE_COMMAND_UI(ID_FIMAGE, OnUpdateFimage)
	//}}AFX_MSG_MAP
	// Standard printing commands
	ON_COMMAND(ID_FILE_PRINT, CScrollView::OnFilePrint)
	ON_COMMAND(ID_FILE_PRINT_DIRECT, CScrollView::OnFilePrint)
	ON_COMMAND(ID_FILE_PRINT_PREVIEW, CScrollView::OnFilePrintPreview)
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CSGAView construction/destruction


CSGAView::~CSGAView()
{
}

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

	return CScrollView::PreCreateWindow(cs);
}

/////////////////////////////////////////////////////////////////////////////
// CSGAView drawing

void CSGAView::OnDraw(CDC* pDC)
{
	CSGADoc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);
	// TODO: add draw code for native data here
	
	TEXTMETRIC tm;
	pDC->GetTextMetrics(&tm);
	pDC->SetBkMode(TRANSPARENT);

	POSITION pos=MyGA.lsRptData.GetHeadPosition();
	UINT ntxt=0;
	for(int i=0;i<MyGA.lsRptData.GetCount();i++)
	{
		pDC->TextOut(0,ntxt+=tm.tmHeight,MyGA.lsRptData.GetNext(pos));
	}

	OnFimage();

}


void CSGAView::OnInitialUpdate()
{
	CScrollView::OnInitialUpdate();

	CSize sizeTotal;
	// TODO: calculate the total size of this view
	sizeTotal.cx = sizeTotal.cy = 100; 
	SetScrollSizes(MM_TEXT, sizeTotal);
}

/////////////////////////////////////////////////////////////////////////////
// CSGAView printing

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

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

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

/////////////////////////////////////////////////////////////////////////////
// CSGAView diagnostics

#ifdef _DEBUG
void CSGAView::AssertValid() const
{
	
	CScrollView::AssertValid();
}

void CSGAView::Dump(CDumpContext& dc) const
{
	CScrollView::Dump(dc);
}

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

/////////////////////////////////////////////////////////////////////////////
// CSGAView message handlers

void CSGAView::OnInputParam() 
{
	// TODO: Add your command handler code here
	if(ParDlg.DoModal()==IDOK)
		MyGA.InitData(ParDlg.m_nPopSize,ParDlg.m_nChromLen,ParDlg.m_nMaxGen,ParDlg.m_fPc,ParDlg.m_fPm);
}

void CSGAView::OnRunGA() 
{
	float oldmaxfit;
	int oldmaxpp;

	if(!MyGA.lsRptData.IsEmpty())
		MyGA.InitData();
	MyGA.InitPop();
	MyGA.InitReport();
	MyGA.pPop=MyGA.pNewPop;
	MyGA.pNewPop=MyGA.pOldPop;
	MyGA.StatPop(MyGA.pNewPop);
	MyGA.Report(MyGA.nGen);
	MyGA.pNewPop=MyGA.pPop;
	do
	{
		MyGA.nGen++;
		oldmaxfit=MyGA.fMaxFit;
		oldmaxpp=MyGA.nMaxPop;
		MyGA.UpdateGen();
		MyGA.StatPop(MyGA.pNewPop);
		if(MyGA.fMaxFit<oldmaxfit)
		{
			for(unsigned i=0;i<MyGA.nChromLen;i++)
				MyGA.pNewPop[MyGA.nMinPop].chrom[i]=MyGA.pOldPop[oldmaxpp].chrom[i];
			MyGA.pNewPop[MyGA.nMinPop].x=MyGA.pOldPop[oldmaxpp].x;
			MyGA.pNewPop[MyGA.nMinPop].fitness=MyGA.pOldPop[oldmaxpp].fitness;
			MyGA.StatPop(MyGA.pNewPop);
		}
		MyGA.Report(MyGA.nGen);
		MyGA.pPop=MyGA.pOldPop;
		MyGA.pOldPop=MyGA.pNewPop;
		MyGA.pNewPop=MyGA.pPop;
	}while(MyGA.nGen<MyGA.nMaxGen);

	FILE *fp;
	if((fp=fopen("SGAReport.txt","w"))==NULL)
		MessageBox("Cannot Open File for Report !");
	POSITION pos=MyGA.lsRptData.GetHeadPosition();
	for(int i=0;i<MyGA.lsRptData.GetCount();i++)
		fprintf(fp,"%s\n",(LPCTSTR)MyGA.lsRptData.GetNext(pos));
	fclose(fp);

	TEXTMETRIC tm;
	CDC *pDC=GetDC();
	pDC->GetTextMetrics(&tm);
	SetScrollSizes(MM_TEXT,CSize(1000,MyGA.lsRptData.GetCount()*tm.tmHeight));

	Invalidate();
}

void CSGAView::OnFimage() 
{
	// TODO: Add your command handler code here
	//CClientDC dc(this);//獲取設(shè)備環(huán)境
	//CRect rect; 
    //POINT Sin[200]; //定義正弦曲線的點(diǎn)坐標(biāo)
    
	//GetClientRect(&rect); 
    //dc.SetMapMode(MM_ISOTROPIC/*MM_ANISOTROPIC MM_LOMETRIC*/);//設(shè)置映象模式0.1mm 
    //dc.SetWindowOrg(1600,1000);//設(shè)置窗口原點(diǎn)(即窗口的中心點(diǎn)) 
    //dc.SetViewportOrg(rect.right/2,rect.bottom/2);//設(shè)置視口原點(diǎn) 
    //dc.DPtoLP(&rect);//按0.1mm比例的倒數(shù)放大了
    //dc.FillSolidRect(rect,RGB(127,127,127));//設(shè)置背景色


    //畫(huà)網(wǎng)格 

    /*CPen pen; 
    pen.CreatePen(PS_SOLID,1,RGB(222,222,222)); //PS_SOLID為實(shí)線 
    CPen* pOldPen=dc.SelectObject(&pen);
	//網(wǎng)格的創(chuàng)建;
    for(int i=0;i<=10000;i+=100) 
	{
	   dc.MoveTo(0,i); 
       dc.LineTo(10000,i); 
       dc.MoveTo(i,0); 
       dc.LineTo(i,10000); 

	}
	CPen pen2; 
    pen2.CreatePen(PS_SOLID,1,RGB(252,0,0)); //PS_SOLID為實(shí)線 
    pOldPen=dc.SelectObject(&pen2);
	
	//畫(huà)出正弦曲線;
	dc.SetWindowOrg(0,0);
    for (int j=-100;j<100;j++)
	{
        Sin[j+100].x=(long)(100*j*Pi/180*5);
        Sin[j+100].y=(long)((j*sin((j*10)*Pi/180)+1.0)*5);

	}
	dc.Polyline(Sin,200); 


 
    //建立坐標(biāo)系
	CPen pen1; 
    pen1.CreatePen(PS_SOLID,1,RGB(0,0,0)); //PS_SOLID為實(shí)線 
    pOldPen=dc.SelectObject(&pen1);
	dc.MoveTo(Sin[100].x,500);
	dc.LineTo(Sin[100].x,-500); 
	dc.MoveTo(-1000,-100);
	dc.LineTo (1000,-100);

	//確定顯示刻度個(gè)數(shù)
    const int count=5;

 
    //確定每個(gè)顯示刻度之間的寬度
    long  spaceX=100;

	


  

    

	//繪制X,Y軸的變量名
    dc.TextOut(-100,200,"Y");
    dc.TextOut(350,-150,"X");*/


		

    ////////////////////////////////////////////////////////////////
	//                   畫(huà)出正弦曲線的另一種方法                 //
	///////////////////////////////////////////////////////////////
   /*dc.SetWindowOrg(0,0);
   for (int j=0;j<1440;j++)//生成正弦曲線的點(diǎn)坐標(biāo).
		{
		    
				Sin[j].x=(long)(100*j*Pi/180);
                Sin[j].y=(long)((j*sin((j*10)*Pi/180)+1.0)/2);
	
         }
	  	dc.Polyline(Sin,1440); 

		for(i=0;i<1440;i++)
		{
			Sin2[i].y=Sin[i].y;
			Sin2[i].x=-Sin[i].x;
			
		}
		dc.SetWindowOrg(0,0);
		dc.Polyline(Sin2,1440); */
	


	////////////////////////////////////////////////////////////////
	//下面的代碼是建立一個(gè)坐標(biāo)系                                  //
	///////////////////////////////////////////////////////////////

    //分別取得X與Y最大值、最小值
	
	/*long maxX=Sin[0].x;
	long minX=Sin[0].x;
	long maxY=Sin[0].y;
	long minY=Sin[0].y;
	for (int k=-100;k<100;k++)
	{
		if (Sin[k+100].x>maxX)
		    maxX=Sin[k+10].x;
		if (Sin[k+100].x<minX)
		    minX=Sin[k+100].x;
		if (Sin[k+100].y>maxY)
		    maxY=Sin[k+10].y;
		if (Sin[k+100].y<minY)
		    minY=Sin[k+100].y;
		
	}
	
	 //確定圖象顯示大小

       int width=2000;

       int height=1000;
	 //確定坐標(biāo)圖四周預(yù)留的空白大小

       const int mytop=10;

       const int mybottom=10;

       const int myleft=10;

       const int myright=10;
	  
	   //確定X,Y軸每單位顯示寬度

       long intervalX=(width-myleft-myright)/(maxX-minX);

       long intervalY=(height-mybottom-mytop)/(maxY-minY);
       //繪制曲線。由于繪圖坐標(biāo)的Y軸是向下延升,所以這里每個(gè)點(diǎn)的Y值是用

       //圖象高度減去y值大小。

       dc.MoveTo(int(myleft+(Sin[0].x-minX)*intervalX), 

                     int(height-(mybottom+(Sin[0].y-minY)*intervalY)));

       for(int m=-100;m<100;m++)

       {

              dc.LineTo(int(myleft+(Sin[m+100].x-minX)*intervalX), 

                     int(height-(mybottom+(Sin[m+100].y-minY)*intervalY)));

       }

 

       //繪制X,Y軸

       //X軸從圖形區(qū)域最左端到最右端

       long bottomY=0;

       long leftX=0;

       //bottomY表示X軸的y值,leftX表示Y軸的x值

       if(minY>0)

              bottomY=minY;

       if(minX>0)

              leftX=minX;

 

        dc.MoveTo(int(myleft),int(height-(mybottom+(bottomY-minY)*intervalY)));

        dc.LineTo(int(width-myright),int(height-(mybottom+(bottomY-minY)*intervalY)));

       //Y軸從圖形區(qū)域最底端到最頂端

       dc.MoveTo(int(myleft+(leftX-minX)*intervalX),int(height-mybottom));

       dc.LineTo(int(myleft+(leftX-minX)*intervalX),int(mytop));

 

       //確定顯示刻度個(gè)數(shù)

       const int count=10;

 

       //確定每個(gè)顯示刻度之間的寬度

       long  spaceX=(width-myleft-myright)/count;

       long  spaceY=(height-mybottom-mytop)/count;

 

       //繪制刻度和刻度值

       CString str;

       //X軸

       for(i=0;i<=count;i++)

       {

              str.Format("%.1f",minX+i*(maxX-minX)/count);

              dc.MoveTo(int(myleft+spaceX*i),int(height-(mybottom+(bottomY-minY)*intervalY)));

              dc.LineTo(int(myleft+spaceX*i),int(height-(mybottom+(bottomY-minY)*intervalY)));

              dc.TextOut(int(myleft+spaceX*i-10),

                     int(height-(mybottom+(bottomY-minY)*intervalY-5)),str);

       }

 

       //Y軸

       for(i=0;i<=count;i++)

       {

              str.Format("%.1f",minY+i*(maxY-minY)/count);

              dc.MoveTo(int(myleft+(leftX-minX)*intervalX),int(height-(mybottom+spaceY*i)));

              dc.LineTo(int(myleft+(leftX-minX)*intervalX+1),int(height-(mybottom+spaceY*i)));

              dc.TextOut(int(myleft+(leftX-minX)*intervalX-30),

                     int(height-(mybottom+spaceY*i+8)),str);

       }

 

    //繪制X,Y軸的變量名

       dc.TextOut(width/2,-100,"X");

       dc.TextOut(-100,height/2,"Y");*/


 







	
}

void CSGAView::OnUpdateFimage(CCmdUI* pCmdUI) 
{
	// TODO: Add your command update UI handler code here
	pCmdUI->SetRadio(TRUE);
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久国产三级精品| 99精品一区二区三区| 国产精品久久久久久久久免费相片 | 99精品久久99久久久久| 丝袜美腿亚洲色图| 综合精品久久久| 精品理论电影在线| 欧美三级电影一区| 成人高清伦理免费影院在线观看| 日韩av一区二| 一区二区三区四区五区视频在线观看| 久久久噜噜噜久久中文字幕色伊伊 | 中文字幕乱码亚洲精品一区| 日韩一区二区免费电影| 在线观看免费成人| av日韩在线网站| 国产毛片精品一区| 免费人成在线不卡| 五月综合激情网| 亚洲三级在线看| 欧美国产丝袜视频| 久久一区二区三区国产精品| 91精品国产色综合久久不卡电影 | 在线观看一区日韩| 99久久国产综合精品色伊| 国产精品综合久久| 精品一二三四在线| 久久国产欧美日韩精品| 麻豆视频一区二区| 免费在线看成人av| 麻豆91免费看| 青青草国产成人99久久| 日韩高清一区二区| 日韩va欧美va亚洲va久久| 香蕉久久夜色精品国产使用方法| 夜夜精品视频一区二区| 亚洲综合激情网| 亚洲国产一区二区三区| 亚洲午夜久久久久久久久电影网| 亚洲免费在线视频一区 二区| 国产精品久久久久影院色老大 | 免费日本视频一区| 久久99热国产| 国模少妇一区二区三区| 欧美精品一区视频| 欧美视频完全免费看| 国产精品一二一区| 国产精品国产精品国产专区不蜜| 久久久国产午夜精品| 久久夜色精品国产噜噜av| 久久久久国产精品免费免费搜索| 26uuu精品一区二区三区四区在线| 精品91自产拍在线观看一区| 精品久久99ma| 欧美韩日一区二区三区四区| 国产精品久久久久久久久免费桃花 | 制服丝袜亚洲播放| 欧美电影精品一区二区| 国产视频一区在线观看| 中文字幕在线不卡一区| 亚洲一区二区视频在线| 热久久久久久久| 懂色av一区二区三区免费看| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 日韩中文字幕区一区有砖一区 | 91在线观看美女| 欧美日韩视频专区在线播放| 日韩三区在线观看| 久久久精品黄色| 亚洲免费看黄网站| 理论片日本一区| 国产91丝袜在线18| 欧美羞羞免费网站| 久久伊人中文字幕| 亚洲伦理在线精品| 蜜桃精品视频在线观看| 国内精品久久久久影院一蜜桃| 波多野结衣在线一区| 欧美性大战久久久久久久蜜臀| 欧美mv和日韩mv的网站| 亚洲欧洲日产国产综合网| 亚洲高清免费一级二级三级| 国产一区二区三区久久久| caoporm超碰国产精品| 91精品欧美久久久久久动漫 | 高清不卡在线观看| 91久久精品日日躁夜夜躁欧美| 在线成人午夜影院| 欧美激情一区二区三区全黄| 一区二区三国产精华液| 国产乱码精品一品二品| 欧美日韩免费电影| 欧美经典一区二区| 美腿丝袜亚洲综合| 色吧成人激情小说| 久久亚区不卡日本| 亚洲综合图片区| 成人黄页在线观看| 欧美成人女星排名| 亚洲1区2区3区4区| 99免费精品在线观看| 精品捆绑美女sm三区| 一区二区在线免费| 国产乱码精品一区二区三区五月婷| 欧美无乱码久久久免费午夜一区| 久久精品亚洲一区二区三区浴池 | 精品国产乱码久久久久久老虎| 一区二区三区在线不卡| 国产精品综合av一区二区国产馆| 欧美精品1区2区| 亚洲老司机在线| www.欧美色图| 久久久精品免费观看| 美女视频一区在线观看| 精品视频1区2区| 一区二区三区色| a亚洲天堂av| 欧美激情一区二区三区在线| 精品一区二区三区在线观看| 7777精品伊人久久久大香线蕉| 亚洲精品免费在线播放| 91小宝寻花一区二区三区| 国产欧美日韩不卡| 国产不卡视频在线播放| 国产亚洲制服色| 国内精品久久久久影院色| 精品国产自在久精品国产| 日本女优在线视频一区二区| 欧美老肥妇做.爰bbww视频| 一区二区三区在线视频免费| 一本色道久久加勒比精品| 自拍偷拍亚洲综合| 91亚洲午夜精品久久久久久| 国产精品免费av| youjizz国产精品| 中文字幕中文乱码欧美一区二区| 国产精品资源网站| 久久亚洲捆绑美女| 国产风韵犹存在线视精品| 国产丝袜美腿一区二区三区| 国产成人日日夜夜| 亚洲国产成人午夜在线一区| 国产91对白在线观看九色| 国产精品乱码久久久久久| 成人性生交大合| 中文字幕在线不卡视频| 一道本成人在线| 亚洲大片免费看| 欧美一级黄色大片| 紧缚奴在线一区二区三区| 精品国精品国产| 国产大陆a不卡| 亚洲人成网站影音先锋播放| 色婷婷亚洲一区二区三区| 亚洲国产精品一区二区www| 91麻豆精品国产91久久久久久久久| 人人精品人人爱| 久久久99精品免费观看不卡| 波波电影院一区二区三区| 亚洲综合色噜噜狠狠| 日韩一区二区在线观看视频 | 午夜伦理一区二区| 日韩欧美电影一二三| 国产成人精品综合在线观看 | 91美女片黄在线| 午夜欧美电影在线观看| 久久亚洲欧美国产精品乐播 | 国产乱子伦一区二区三区国色天香| 国产日韩在线不卡| 欧美在线影院一区二区| 奇米色一区二区| 国产精品福利电影一区二区三区四区| 91麻豆免费看| 另类小说一区二区三区| 国产精品嫩草久久久久| 制服.丝袜.亚洲.中文.综合 | 欧美老年两性高潮| 国产成人亚洲综合a∨婷婷图片| 亚洲精品福利视频网站| 欧美电影免费观看高清完整版在| av成人动漫在线观看| 日韩1区2区3区| 亚洲国产精品黑人久久久| 欧美日韩国产天堂| 成人精品小蝌蚪| 秋霞成人午夜伦在线观看| 国产精品你懂的| 日韩三级视频中文字幕| 波多野结衣精品在线| 蜜臀av国产精品久久久久| 中文字幕日韩欧美一区二区三区| 欧美一级在线视频| 91一区二区三区在线观看| 韩国v欧美v日本v亚洲v| 一二三四社区欧美黄| 国产欧美日韩精品在线| 欧美一区二区三区性视频| 91在线观看视频| 懂色av一区二区在线播放| 秋霞av亚洲一区二区三|