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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.11.2013, 13:53   #11
nikmoon
Форумчанин
 
Регистрация: 13.11.2013
Сообщений: 149
По умолчанию

Да что ж такое!
Очень хочу помочь! Но как тебя понять то???
Тебе нужен КЛАСС в коде? Нужен. Ты объявил класс treugol? Объявил.
Что еще надо???
nikmoon вне форума Ответить с цитированием
Старый 20.11.2013, 14:05   #12
Putin-mode
Пользователь
 
Регистрация: 04.06.2010
Сообщений: 82
По умолчанию

дак класс то не работает.
Putin-mode вне форума Ответить с цитированием
Старый 20.11.2013, 14:08   #13
Putin-mode
Пользователь
 
Регистрация: 04.06.2010
Сообщений: 82
По умолчанию

Вообщем, мне нужно переписать рабочий код на ооп, если не сможешь помочь то так и скажи, тот класс который создан он не работает, нет связи между рандомными точками x[i] y[i] и классом, так как в классе они не упомянаются.
Putin-mode вне форума Ответить с цитированием
Старый 20.11.2013, 14:10   #14
nikmoon
Форумчанин
 
Регистрация: 13.11.2013
Сообщений: 149
По умолчанию

Ну наконец то хоть что-то стало понятно. Щас накидаю немножко кода.
nikmoon вне форума Ответить с цитированием
Старый 20.11.2013, 14:13   #15
Putin-mode
Пользователь
 
Регистрация: 04.06.2010
Сообщений: 82
По умолчанию

Буду очень благодарен!
Putin-mode вне форума Ответить с цитированием
Старый 20.11.2013, 14:21   #16
nikmoon
Форумчанин
 
Регистрация: 13.11.2013
Сообщений: 149
По умолчанию

Код:
//	Точка в двухмерном пространстве
class CPoint
{
public:
	CPoint() : x(0), y(0) {};
	CPoint(int _x, int _y) : x(_x), y(_y) {};
private:
	int x, y;
};


// Треугольник в двухмерном пространстве
class CTriangle
{
public:
	CTriangle() {};
	CTriangle(CPoint _points[]) { points[0] = _points[0]; points[1] = _points[1]; points[2] = _points[2]; };
private:
	CPoint points[3];	// опорные точки треугольника
};


int
main(void)
{
	CTriangle *Triangles;	// массив треугольников
	return EXIT_SUCCESS;
}
Пока заготовка, через полчасика буду дома, доделаю.
nikmoon вне форума Ответить с цитированием
Старый 20.11.2013, 14:25   #17
Putin-mode
Пользователь
 
Регистрация: 04.06.2010
Сообщений: 82
По умолчанию

Самому мне не дописать, поэтому буду ждать готового варианта, и если можно, то не заготовку, а мой код подправить? Потому что я в классах ноль, только в процедурном разбираюсь.
Putin-mode вне форума Ответить с цитированием
Старый 20.11.2013, 14:27   #18
nikmoon
Форумчанин
 
Регистрация: 13.11.2013
Сообщений: 149
По умолчанию

Помогу чем смогу.
nikmoon вне форума Ответить с цитированием
Старый 20.11.2013, 14:27   #19
Putin-mode
Пользователь
 
Регистрация: 04.06.2010
Сообщений: 82
По умолчанию

Спасибо громное!!!
Putin-mode вне форума Ответить с цитированием
Старый 20.11.2013, 16:34   #20
nikmoon
Форумчанин
 
Регистрация: 13.11.2013
Сообщений: 149
По умолчанию

Код:
#include <vcl.h>
#include <math.h>
#pragma hdrstop
#include "Unit1.h"

#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;

//#include <cstdlib>


//	Точка в двухмерном пространстве
class CPoint
{
public:
	CPoint() : x(0), y(0) {};
	CPoint(int _x, int _y) : x(_x), y(_y) {};

	void FillRandom(int _xmax, int _ymax);

private:
	int x, y;
};


// Задаем для точки случайные координаты в пределах [1.._xmax, 1.._ymax]
void
CPoint::FillRandom(int _xmax, int _ymax)
{
	x = rand() % _xmax + 1;
	y = rand() % _ymax + 1;
}


// Треугольник в двухмерном пространстве
class CTriangle
{
public:
	CTriangle() {};
	CTriangle(CPoint _points[]) { points[0] = _points[0]; points[1] = _points[1]; points[2] = _points[2]; };

	void FillRandom(int _xmax, int _ymax);

private:
	CPoint points[3];	// опорные точки треугольника
};


// Задаем для точек треугольника случайные координаты в пределах [1.._xmax, 1.._ymax]
void
CTriangle::FillRandom(int _xmax, int _ymax)
{
	points[0].FillRandom(_xmax, _ymax);
	points[1].FillRandom(_xmax, _ymax);
	points[2].FillRandom(_xmax, _ymax);
}



__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}




void __fastcall TForm1::TrackBar1Change(TObject *Sender)
{
	 Edit1->Text=IntToStr(TrackBar1->Position);
}


void draw_triangles(CTriangle *trarray, int trcount) //процедура прорисовки треугольников
{


	 for(int i = 0; i < trcount; i++)
	{
		 Form1->PaintBox1->Canvas->MoveTo(trarray[i].points[0].x, trarray[i].points[0].y); //Определяет текущую позицию пера
		 Form1->PaintBox1->Canvas->LineTo(trarray[i].points[1].x, trarray[i].points[1].y); //Рисует прямую до заданной точки

		 Form1->PaintBox1->Canvas->MoveTo(trarray[i].points[1].x, trarray[i].points[1].y); //Определяет текущую позицию пера
		 Form1->PaintBox1->Canvas->LineTo(trarray[i].points[2].x, trarray[i].points[2].y); //Рисует прямую до заданной точки

		 Form1->PaintBox1->Canvas->MoveTo(trarray[i].points[2].x, trarray[i].points[2].y); //Определяет текущую позицию пера
		 Form1->PaintBox1->Canvas->LineTo(trarray[i].points[0].x, trarray[i].points[0].y); //Рисует прямую до заданной точки
	}

	 Form1->Label2->Caption = "Число треугольников " + trcount;
}

void __fastcall TForm1::BitBtn1Click(TObject *Sender)
{
	int n;
	CTriangle *trarray;
	PaintBox1->Canvas->Rectangle(0,0,600,400); // рисует прямоугольную область на
											//которой будут треугольники каждый
											//раз обновляя область
	if (RadioButton2->Checked)	             //определяет состояние свойства Radio2
	{
		RadioButton1->Checked = false;
		n = StrToInt(Edit1->Text);  				 //число точек
		trarray = new CTriangle[n];
		draw_triangles(trarray, n);
		delete [] trarray;
	}
 }
Пробуй.
nikmoon вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Где ошибка в этом исходном коде на языке Си? Или ошибка в Excel? ArchiCurtis Помощь студентам 2 07.04.2012 14:16
Клавиши в канвасе treut Java Мобильная разработка (Android) 1 24.03.2012 00:55
Ошибка в коде, ошибка в css или это проблема с совместимостью с браузерами? ankris HTML и CSS 5 23.11.2010 16:58
Конструктор на канвасе Heming Помощь студентам 5 07.07.2010 00:35
Как вывести на канвасе текст не с белым, а прозрачным фоном? Altera Общие вопросы Delphi 2 29.03.2008 20:21