Премини към съдържанието
Форумът в приложение

По-лесно сърфиране. Научи повече.

Kaldata.com - Форуми

Приложение на форума на цял екран с push известия, значки и други.

За да инсталирате това приложение на iOS и iPadOS
  1. Докоснете Иконата за споделяне в Safari
  2. Превъртете менюто и докоснете Добавяне към началния екран.
  3. Докоснете Добавяне в горния десен ъгъл.
За да инсталирате това приложение на Android
  1. Докоснете менюто с 3 точки (⋮) в горния десен ъгъл на браузъра.
  2. Докоснете Добавяне към началния екран или Инсталиране на приложение.
  3. Потвърдете, като докоснете Инсталиране.

Добре дошли!

Добре дошли в нашите форуми, пълни с полезна информация. Имате проблем с компютъра или телефона си? Публикувайте нова тема и ще намерите решение на всичките си проблеми. Общувайте свободно и открийте безброй нови приятели.

Моля, регистрирайте се за да публикувате тема и да получите пълен достъп до всички функции.

 

Защрих. на полигон - local function definitions are illegal

Featured Replies

Здравейте!

Задачата с която се боря е :

Произволен многоъгълник (полигон) е зададен с координатите на върховете си в реда на обхождането им. Да се изчертае полигонът. Да се щрихова повърхността му.

	double XtoY(double Xn, double Yn, double Xk, double Yk, double Yt)

	{

	double X;

	X=(Yt-Yn)/(Yk-Yn)*Xk+((Yt-Yk)/(Yn-Yk))*Xn;

	return X;

	}

	void main()

	{

		CDC*pDC=GetDC();

	const int Msize=5;

	int count, count1, count2=0;

	double X[Msize]={150, 150,200,250,200,150,20};

	double Y[Msize]={50, 150, 50,150, 250, 300, 150};


	pDC->MoveTo(X[0], Y[0]);

	for (count=1; count<=Msize; count++)

		pDC->LineTo{X[count%Msize], Y[count%Msize]};


	int n=25;


	double Ymax=Y[0], Ymin=Y[0];

	for (count=1; count<=Msize; count++)


	{

		if(Ymax,Y[count]) Ymax=Y[count];

		if(Ymin>Y[count]) Ymin=Y[count];

	}

	int step=(Ymax-Ymin)/n;

	double Yi,Xserv,Xsek[Msize];


	for(count=0;count<=n;coun++)

	{

		Yi=Ymin+count*step;

		count2=0;


		for(count1=0;count1<Msize;count1++)Xsec[count1]=0;


		for(count1=0;count1<Msize;count1++)


		{

			if((Yi-Y[count1])*(Yi-Y[(count+1)%Msize])<=0)

				Xserv=XtoY(X[count1],Y[count1],X[count1+1)%

				Msize],Y[(count1+1)%Msize],Yi);


				Xsek[count2]=Xserv;

				count2++;

		}

	}


	bool flag=true;

	while(flag)

	{

		flag=false;

		for(count1=0;count1<Msize-1;count++)

			if(Xsek[count1]>Xsek[count1+1])

			{

				Xserv=Xsek[count1];

				Xsek[count1]=Xsek[count1+1];

				Xsek[count1+1]=Xserv;

				flag=true;

			}

	}


	count2=0;


	while(Xsek[count2]==0)count2++;


	for(count1=count2;count1<Msize-1;count1=count1+2)

		{

		pDC->MoveTo(Xsek[count1],Y);

		pDC->LineTo(Xsek[count1+1],Yi);

		}

}

}

При което ми извежда :

error C2601: 'XtoY' : local function definitions are illegal

error C2601: 'main' : local function definitions are illegal

Можете ли да помогнете?

Как да се начертае?Ред по ред в конзолата ?! :speak:

  • 4 седмици по-късно...

Функциите (GetDC(),pDC->MoveTo(), pDC->LineTo()), които ползваш са от MFC - това е библиотека от класове, която обгръща Windows API.

Изгради си приложението използвайки MFC wizard на Visual Studio или смени подхода.

Регистрирайте се или влезете в профила си за да коментирате

Разглеждащи това в момента 0

  • Няма регистрирани потребители разглеждащи тази страница.

Дарение

  • Подкрепи съществуването на форума - направи дарение
    32%
    Дарени 315 € от нужните 1 000 €

Бюлетин

Получавайте известие, когато има важна промяна или новина свързана с форума.

Профил

Навигация

Търсене

Търсене

Конфигуриране на push известия в браузъра

Chrome (Android)
  1. Докоснете иконата на катинар до адресната лента.
  2. Докоснете Разрешения → Известия.
  3. Променете предпочитанията си.
Chrome (Desktop)
  1. Кликнете върху иконата на катинар в адресната лента.
  2. Изберете Настройки на сайта.
  3. Намерете Известия и коригирайте предпочитанията си.