Форум программистов, компьютерный форум CyberForum.ru

Нарисовать график - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Вывести на экран таблицу умножения для числа http://www.cyberforum.ru/cpp-beginners/thread840649.html
3.Пользователь вводит число от 1 до 9. Вывести на экран таблицу умножения для этого числа
C++ Программа должна вычислять значение функции exp(x) действительного аргумента x с точностью ε с использованием рекурсии. Построить рекурсивный алгоритм, записать алгоритм в виде блок-схемы и на алгоритмическом языке. Программа должна вычислять значение функции exp(x) действительного аргумента x с точностью ε с использованием рекурсии. Кому не сложно, очень прошу помочь! http://www.cyberforum.ru/cpp-beginners/thread840648.html
Необходимо определить количество десятков,единиц,сумму и произведение его чисел C++
2.Пользователь вводит двухзначное число,для которого необходимо определить количество десятков,едениц,сумму и произведение его чисел.
C++ Проверить, встречается ли данное слово х в предложении у
1. Дана матрица А(nxn). Найти максимальный по модулю элемент матрицы. Переставить строки и столбцы матрицы таким образом, чтобы максимальный по модулю элемент матрицы был расположен на пересечении k - той строки и k - того столбца.
C++ ЕГЭ. С4, С2 - обработка массива - правильное выделение памяти http://www.cyberforum.ru/cpp-beginners/thread840643.html
У меня вопрос к людям сдавшим ЕГЭ по информатике. В задании C4 часто приходится обрабатывать массив структур или просто массив. Что делать с памятью? Выделять её динамически? Не усложнит ли это понимание исходного кода проверяющему? И вообще, кто какие советы может дать относительно заданий, где надо писать программы или функции? p.s. тему создал в разделе "С++ для начинающих", так как...
C++ Найти среднее арифметическое модулей пяти чисел.Значение чисел определяет пользователь 1.Найти среднее арифмитическое модулей пяти чисел.Значение чисел определяет пользователь. подробнее

Показать сообщение отдельно
thedarklord
0 / 0 / 0
Регистрация: 11.04.2013
Сообщений: 3
18.04.2013, 14:51     Нарисовать график
Добрый день, подскажите пожалуйста, как нарисовать график зависимости от переменной T - это по y, а func - это по х.

Я пересчитываю выражение
Код
	for(T=0;T<1000;T+=1)
	{
	rA=a*pow(T,2);
	rB=b*T;
	func=rA-rB;

	if ( bKey )  
		{
			sprintf( szString, "Расстояние. = %g\r\n Время=%g\r\n", func, T);
			WriteFile( hOutFile, szString, strlen( szString ), &dwNumberOfBytes, NULL );
		}
	if(func>1000)
	{
		break;
	}
В текстовом файле получаю

Код
Коэффициент a.= 1.4
 Коэффициент b = 10
Расстояние. = 0
 Время=0
Расстояние. = -8.6
 Время=1
Расстояние. = -14.4
 Время=2
Расстояние. = -17.4
 Время=3
Расстояние. = -17.6
 Время=4
Расстояние. = -15
 Время=5
Расстояние. = -9.6
 Время=6
Расстояние. = -1.4
 Время=7
Расстояние. = 9.6
 Время=8
Расстояние. = 23.4
 Время=9
Расстояние. = 40
 Время=10
Расстояние. = 59.4
 Время=11
Расстояние. = 81.6
 Время=12
Расстояние. = 106.6
 Время=13
Расстояние. = 134.4
 Время=14
Расстояние. = 165
 Время=15
Расстояние. = 198.4
 Время=16
Расстояние. = 234.6
 Время=17
Расстояние. = 273.6
 Время=18
Расстояние. = 315.4
 Время=19
Расстояние. = 360
 Время=20
Расстояние. = 407.4
 Время=21
Расстояние. = 457.6
 Время=22
Расстояние. = 510.6
 Время=23
Расстояние. = 566.4
 Время=24
Расстояние. = 625
 Время=25
Расстояние. = 686.4
 Время=26
Расстояние. = 750.6
 Время=27
Расстояние. = 817.6
 Время=28
Расстояние. = 887.4
 Время=29
Расстояние. = 960
 Время=30
Расстояние. = 1035.4
 Время=31
Как мне нарисовать такой график? Чтобы бы получилось вот такое
[IMG]http://i.***********/i7/a3a9ddf9ee85aa6179aec48ff9a577d5/4-57-1293/62954629/Bezymiannyi.jpg[/IMG]

Я пытаюсь сделать такое рисование
Код
	CWnd* pWnd = ( CWnd* )GetDlgItem( IDC_DRAW_AREA );
	if ( pWnd )
	{
		CClientDC dc( pWnd );
		CRect rect;
		pWnd->GetClientRect( &rect );
		dc.FillRect( &rect, NULL );
	
		double dScale = ( rect.right - rect.left ) / 41.;
		char szBuf[256];
	
		HANDLE hFile; 
		
				hFile = CreateFile( "Result.txt",	
					GENERIC_READ,	
					0,				
					NULL,			
					OPEN_EXISTING,
					FILE_ATTRIBUTE_NORMAL,
					NULL);			
		if (hFile == INVALID_HANDLE_VALUE) 
		{ 
			return; 
		} 
		DWORD dwFileSize = GetFileSize( hFile, NULL );
		/
		char* pBuf = new char[ dwFileSize + 1 ];
		memset(pBuf, 0, dwFileSize + 1);

		DWORD dwBytesReaded;
		ReadFile( hFile, pBuf, dwFileSize, &dwBytesReaded, NULL );
		CloseHandle( hFile );
		char seps[]   = "\t\n\r";
		char *token;
		int i = 0;
	token = strtok( pBuf, seps );
	while ( token != NULL )
		{
			double x, y;
			x = atof( token );
			token = strtok( NULL, seps );
			if ( token == NULL )
			{
				return;
			}
			y = atof( token );
			sprintf( szBuf, "Текущее время %g", y );
			T=szBuf;
			sprintf( szBuf, "Текущее расстояние %g", x );
			func=szBuf;
			
			UpdateData( FALSE );
			dc.MoveTo( ceil( i * dScale ), rect.bottom - 1 );
			dc.LineTo( ceil( i * dScale ), rect.bottom - 1 - y * ( rect.bottom - rect.top )/ 10 );

			token = strtok( NULL, seps );
			i++;
		
			Sleep( 300 );
		}
		delete[] pBuf;
Но ругается на
error C2440: '=' : cannot convert from 'char [256]' to 'double'
There is no context in which this conversion is possible
error C2440: '=' : cannot convert from 'char [256]' to 'double'
There is no context in which this conversion is possible
Что нужно сделать?
Очень срочно прошу помощи!

Добавлено через 22 часа 7 минут
Переделал функцию
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
UpdateData (TRUE);
    func=0;
    
    ofstream OutFile;
    OutFile.open("Result.txt");  
 
 
    for(T=0;T<1000;T+=1)
    {
    func=(a/3*pow(T,3))-(b/2*pow(T,2));
 
        if(func<=0)
    {
        func=0;
    }
 
    if(bKey)
    {
        OutFile << T << "\t" << func << "\n";
    }
    if(func>1000)
    {
        break;
    }
    }
 
    
 
 
    OutFile.close();
 
 
    UpdateData(FALSE);
Как теперь нарисовать такой график?

http://i.***********/i7/a3a9ddf9ee85a...ezymiannyi.jpg

Помогите, пожалуйста
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 19:20. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru