Warning: include() [function.include]: URL file-access is disabled in the server configuration in /home/virtwww/w_beloshenko-org-ua_e2c5fc46/http/topp.php on line 8

Warning: include(http://www.beloshenko.org.ua/panel.html) [function.include]: failed to open stream: no suitable wrapper could be found in /home/virtwww/w_beloshenko-org-ua_e2c5fc46/http/topp.php on line 8

Warning: include() [function.include]: Failed opening 'http://www.beloshenko.org.ua/panel.html' for inclusion (include_path='.:') in /home/virtwww/w_beloshenko-org-ua_e2c5fc46/http/topp.php on line 8






Histogram.

#include "afxwin.h"

class CMainWnd : public CFrameWnd
{
public:
  CMainWnd();
  afx_msg void OnPaint();
private:
  DECLARE_MESSAGE_MAP()
};

BEGIN_MESSAGE_MAP(CMainWnd,CFrameWnd)
  ON_WM_PAINT()
END_MESSAGE_MAP()

CMainWnd::CMainWnd()
{
 Create(NULL,"gistogr",WS_OVERLAPPEDWINDOW,rectDefault,
  NULL,NULL);
}

void CMainWnd::OnPaint()
{
 CPaintDC dc(this);
 
 // Гістограма

 int L1,L2;
  
 // Область перегляду
 int vp_4_x1;
 int vp_4_x2;
 int vp_4_y1;
 int vp_4_y2;

 // Область для стовпчика
 int St_x1;
 int St_x2;
 int St_y1;
 int St_y2;

 // Відступ для рамки
 int FrameD=2;

 // Відступ для рамки стовпчика
 int FrameD_St=1;

 // Кількість стовпчиків
 int N_St=20;

 // Вхідний масив
 float m[200+1];
    
 // Найбільший та найменший елемент
 float m_max;
 float m_min;    

 // Заповнюємо вхідний масив
 int i;
 for(i=1; i<=N_St; i++)
 {
  // Залежність m[i], яку ми прагнемо зобразити
  m[i]=10*i*i-23*i-(float)i*i*i/2;
 };

 // Задаємо область перегляду
 vp_4_x1=50;
 vp_4_x2=640;
 vp_4_y1=100;
 vp_4_y2=240;

 // Зображуємо область перегляду
 dc.MoveTo(vp_4_x1-FrameD,vp_4_y1-FrameD);
 dc.LineTo(vp_4_x2+FrameD,vp_4_y1-FrameD);
 dc.LineTo(vp_4_x2+FrameD,vp_4_y2+FrameD);
 dc.LineTo(vp_4_x1-FrameD,vp_4_y2+FrameD);
 dc.LineTo(vp_4_x1-FrameD,vp_4_y1-FrameD);

 // Пошук найбільшого та найменшого елементу
 m_max=m[1];
 m_min=m[1];
 for(i=1; i<=N_St; i++)
 {
  if(m[i]>=m_max)
  {
   m_max=m[i];
  };
  if(m[i]<=m_min)
  {
   m_min=m[i];
  };
 };

 // Зображуємо стовпчики
 for(i=1; i<=N_St; i++)
 {
  // Задаємо область стовпчику
  St_x1=vp_4_x1+FrameD_St+(i-1)*((float)(vp_4_x2-vp_4_x1)/N_St);
  St_x2=vp_4_x1-FrameD_St+i*((float)(vp_4_x2-vp_4_x1)/N_St);
  St_y1=vp_4_y1+FrameD_St;
  St_y2=vp_4_y2-FrameD_St;
  St_y1=St_y2-(St_y2-St_y1)*((m[i]-m_min)/(m_max-m_min));
     
  // Малюємо стовпчик
  L1=St_x1;
  while(L1<=St_x2)
  {
   L2=St_y1;
   while(L2<=St_y2)
   {
    dc.SetPixel(L1,L2,RGB(200,0,0));
    L2++;
   };
   L1++;
  };

  // Чотири точки
  dc.SetPixel(vp_4_x1+FrameD_St+(i-1)*((float)(vp_4_x2-vp_4_x1)/N_St),vp_4_y1+FrameD_St,RGB(0,0,0));
  dc.SetPixel(vp_4_x1+FrameD_St+(i-1)*((float)(vp_4_x2-vp_4_x1)/N_St),vp_4_y2-FrameD_St,RGB(0,0,0));
  dc.SetPixel(vp_4_x1-FrameD_St+i*((float)(vp_4_x2-vp_4_x1)/N_St),vp_4_y1+FrameD_St,RGB(0,0,0));
  dc.SetPixel(vp_4_x1-FrameD_St+i*((float)(vp_4_x2-vp_4_x1)/N_St),vp_4_y2-FrameD_St,RGB(0,0,0));
 }
}

class CGistogrApp : public CWinApp
{
public:
 CGistogrApp();
 virtual BOOL InitInstance();
};

CGistogrApp::CGistogrApp()
{}

BOOL CGistogrApp::InitInstance()
{
 m_pMainWnd=new CMainWnd();
 ASSERT(m_pMainWnd);
 m_pMainWnd->ShowWindow(SW_SHOW);
 m_pMainWnd->UpdateWindow();
 return TRUE; 
};

CGistogrApp GistogrApp;





Free Website  Hosting