powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / графика в Visual C++ 6.0.
3 сообщений из 3, страница 1 из 1
графика в Visual C++ 6.0.
    #34221316
goldmember
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Уважаемые знатоки сей среды программирования...к сожалению имею с ней дело не по собственной воле...но, что есть то есть...проблема заключается в следующем
Есть программа ,которая решает дифур. 1-го порядка методом Эйлера...реализованно это дело через 2-хмерный массив указателей на объекты класса neuro, вот консольный код
Код: plaintext
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.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
#include<iostream.h>
#include<conio.h>
#include<iomanip.h>
#include<stdlib.h>
#include<stdio.h>
#include<time.h>
#include"MyHead.h"

//	double neuro::Eiler(double in,double out,double w[6])
void Eiler(double& Xi, double& Yi,double kx, double ky, double h);

int main(void)
{
    neuro * pNeur[ 3 ][ 6 ];
	neuro * heap;
	for(int i= 1 ;i<= 6 ;i++)

		for(int j= 1 ;j<= 3 ;j++)
		{
			heap = new neuro;
			pNeur[i][j]=heap;
		}

    double h,Xi,Yi,Xkon;
	int n;
    for(int g= 1 ;g<= 6 ;g++)
	{
    for (int k= 1 ;k<= 3 ;k++)
	{
		pNeur[g][k]->SetIn(rand()% 18 );
		cout<<pNeur[g][k]->GetIn()<<"  ";

	}
	cout<<endl;
	}


	cout<<endl;
	cout<<endl;
		for(int l = 1 ;l<= 6 ;l++)
		{
		    pNeur[l][ 1 ]->SetWeight( 0 . 5 );
		}
   
	double res= 0 ;
	for(int m= 1 ;m<= 6 ;m++)
	{
	   	
       res+=pNeur[m][ 1 ]->Sum();
	   cout<<pNeur[m][ 1 ]->GetIn()<<"    "<<res<<endl;
	}

    cout<<"Vvedite nachaloe znachenie intervala [a,b]=";
	cin>>Xi;
	cout<<"Vvedite konechoe znachenie intervala [a,b]=";
	cin>>Xkon;
	cout<<"Vvedite chislo shagov=";
	cin>>n;
	h=(Xkon- Xi)/n;
	cout<<endl;
	cout<<"Vvedite nachalnoe uslovie y=";
	cin>>Yi;
	
	for (int o= 1 ;o<=n;o++)
	{	
		Eiler(Xi,Yi, 0 ,res,h);
		cout<<"\n";
	}


//	delete [] pNeur;
	//for(int r=1;r<=6;r++);
//	*pNeur=0;
	return  0 ;
}

void Eiler(double& Xi, double& Yi, double kx, double ky, double h)
{
	double f1,Yprom,a,Xprom;

	f1=(kx*Xi)+((ky-Yi)*Yi);
	Yprom=Yi+f1*(h/ 2 );
	Xprom=Xi+h/ 2 ;
	a=kx*Xprom-Yprom;
	Yi=Yi+a*h;
    cout<<"\t"<<"\t"<<"Interval x="<<Xi<<"\t"<<" Resultat y="<<Yi;
    Xi=Xi+h;
}
заголовочек MyHead
Код: plaintext
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.
class neuro
{
public:
	void SetIn(double In){itsIn=In;}
	void SetWeight(double Weight)
	{
			for(int x= 1 ;x<= 6 ;x++)
				itsWeight[x]=Weight;
	}
	 double GetIn() const {return itsIn;}
	 double GetWeight() const 
	 {
			
			return itsWeight[ 1 ];
		     
	 }
//	neuro();
//	~neuro();
   //  double Eiler(double in,double out,double w);
	 double Sum()
	 {
        double res= 0 ;
		res =itsIn*itsWeight[ 1 ];
    	return res;
	 }
private:
	double itsIn;
	double itsWeight[ 6 ];
};
Вот,если не вдаваясь в подробности вышеизложенного, как мне вывести график решения в SDI документе, с заданием весов(double itsWeight) и количества шагов(int n) через диалоговое окно...
Проблема именно в том что я не знаю где всё грамотно разместить..либо всё в методе OnDraw,либо что-то в документе можно прописать?
...
Рейтинг: 0 / 0
графика в Visual C++ 6.0.
    #34223170
kolobok0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
goldmember....Вот,если не вдаваясь в подробности вышеизложенного, как мне вывести график решения в SDI документе, с заданием весов(double itsWeight) и количества шагов(int n) через диалоговое окно...
Проблема именно в том что я не знаю где всё грамотно разместить..либо всё в методе OnDraw,либо что-то в документе можно прописать?


1) У Вас есть некий массив - он проситься на сущность которую нуна отображать в виде графика, обозвать условно "документ" и хранить в соответствующем класс. Отображать в виде графика в одном из окошек SDI парадигмы. При этом ввод доп. параметров (шаг расчёта и прочее) - можно вводить в диаложке, активизацию которого мона производить по событию от "внешней" кнопки на тул-баре, а результат отработки данного диаложка сваливать в "документ". Где то так...


с уважением
(круглый)
ЗЫ
Рекомендую книгу Круглинского про VC4 (второе издание - не суть, мона и по свежее) + MFC. Там примеры отрисовки, увязывания событий, ввод доп. параметров и куча чаво интересного для Вас - думаю найдётся.
...
Рейтинг: 0 / 0
графика в Visual C++ 6.0.
    #34223896
goldmember
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kolobok0У Вас есть некий массив - он проситься на сущность которую нуна отображать в виде графика, обозвать условно "документ" и хранить в соответствующем класс. Отображать в виде графика в одном из окошек SDI парадигмы. При этом ввод доп. параметров (шаг расчёта и прочее) - можно вводить в диаложке, активизацию которого мона производить по событию от "внешней" кнопки на тул-баре, а результат отработки данного диаложка сваливать в "документ". Где то так...

Поступил именно так...компиляция проходит без ошибок..при запуске выдаёт следующее
debug assertion failed!
program:....MyProjects\NeuroNet\Debug\NeuroNet.exe
file:dosmgr.cpp
line:852

мож из-за того что знач.координат у меня типа Double а выводить пытаюсь SetPixel'ом?
или это глубже скрыто....?
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / графика в Visual C++ 6.0.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]