Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.04.2014, 15:11   #1
Zed21
 
Регистрация: 02.03.2014
Сообщений: 3
По умолчанию График функции

Написать программу, которая выводит на экран точечный график функции y= 2x. Диапазон изменения аргумента – от -5 до 5, шаг аргумента – 0.5. График вывести на фоне координатных осей , точка пересечения которых должна находиться в центре экрана.
Вот вывел оси координат на экран:
Код:
#include <windows.h>
#include <math.h>
LRESULT CALLBACK  WndProc(HWND, UINT, WPARAM, LPARAM);
 
int  main(void) {
   MSG msg;
   int  use = CW_USEDEFAULT; 
   HWND  wnd = CreateWindowA("BUTTON", "Моё окно", WS_OVERLAPPEDWINDOW, use, use, use, use, 
                                           GetDesktopWindow(), NULL, (HINSTANCE)GetModuleHandle(NULL), NULL);
   if(! wnd)
         ExitProcess(1u);
 
   SetClassLong(wnd, GCL_HCURSOR, (LONG)LoadCursor(NULL, IDC_ARROW)); // курсор
   SetClassLong(wnd, GCL_HBRBACKGROUND, (LONG)GetStockObject(WHITE_BRUSH)); // цвет формы
   SetWindowLong(wnd, GWL_WNDPROC, (LONG)WndProc);  // обработчик сообщений
 
   ShowWindow(wnd, SW_SHOWDEFAULT);
   UpdateWindow(wnd);
   InvalidateRect(wnd, NULL, TRUE);
 
   ZeroMemory(&msg, sizeof(MSG));
   while(GetMessageA(&msg, NULL, 0U, 0U)) {
        DispatchMessageA(&msg);
        TranslateMessage(&msg);
   }
   DestroyWindow(wnd);
   return 0;
}
 
LRESULT CALLBACK  WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) {
   PAINTSTRUCT ps;
   HGDIOBJ old;
   int x, y, ny;
   static POINT pt;
   static HPEN  pen;
 
   switch(msg) {
     case WM_SHOWWINDOW:
          pen  = CreatePen(PS_SOLID, 1,  RGB(0, 0, 255));
          pt.x =  pt.y = 0L;
         break;
     case WM_PAINT:   // обработчик рисования на форме
         BeginPaint(hwnd, &ps);
 
        // рисуем график X,Y
        MoveToEx(ps.hdc, ps.rcPaint.right/2, 10, NULL);
        LineTo(ps.hdc, ps.rcPaint.right/2, ps.rcPaint.bottom-10);
 
        MoveToEx(ps.hdc, 10, ps.rcPaint.bottom/2, NULL);
        LineTo(ps.hdc, ps.rcPaint.right-10, ps.rcPaint.bottom/2);
 
        old = SelectObject(ps.hdc, pen);
	
       
     default: return DefWindowProcA(hwnd, msg, wParam, lParam);
     }
     return 0;
}
Вот вычисление функции:
Код:
#include <iostream>
#include <clocale>
# include <stdio.h>
# include <conio.h>

using namespace std;
void main ( )
{ setlocale (LC_ALL,"rus");
	float x, y,LB,HB, DX;  //Аргумент и значение функции
	int n; 	       // Количество точек
	int i;          // Счетчик циклов
	LB =  -5.0;
	HB = 5.0;
	DX = 0.5;
	n = (HB - LB) / DX + 1;
	x = LB;
	cout << ("Первый столбец = х")<< endl;
	cout <<("Второй столбец = y ")<< endl;
	for (i = 1; i <= n; i++ )
	{
		y = 2^x;
		printf (" % 6.2f | % 6.2f \n" , x, y );
		x += DX;
	}
	getch ( );
}
помогите пожалуйста обЪединить что бы график рисовало 3 день парюсь=(

Последний раз редактировалось Stilet; 19.04.2014 в 16:15.
Zed21 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Затабулировать функцию. график указанной функции и график касательной к ней в точке с абсциссой AntonKalinin01 Помощь студентам 0 26.05.2013 07:18
Bывести на экран монитора и напечатать таблицу значений аргумента и функции, а также график функции средствами Exel IgorMyakota Помощь студентам 1 24.11.2012 02:46
Построить график функции F(x) на заданном интервале с заданным шагом и вывести значения х и функции F(x) в таблицу в графическом р Proskurina Паскаль, Turbo Pascal, PascalABC.NET 8 12.11.2012 21:57
График функции adm2010 Общие вопросы Delphi 5 02.05.2011 18:05
График функции ArtS Помощь студентам 3 30.11.2009 18:42