• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о проекте, чтобы узнать больше. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

N-угольник при нажатии одной кнопки "С++ Borland"

  • Автор темы Автор темы magic
  • Дата начала Дата начала

magic

Ученик
Регистрация
9 Авг 2010
Сообщения
3
Реакции
0
Баллы
0
N-угольник при нажатии одной кнопки "С++ Borland"

Нужно написать программу которая бы по заданным координатам рисовала n-угольник при нажатии одной кнопки, а при нажатии на другую кнопку внутри первого n-угольника на заданном растоянии рисовался идентичный ему n-угольник и чтобы все стороны внутреннего n-угольника были параллельны сторонам первого n-угольника. Пример для квадрата:

void __fastcall TForm1::Button1Click(TObject *Sender)
{
TPoint p[4] ; // четыре вершины
// координаты вершин
p[0].x = StrToInt(Edit1->Text); p[0].y = StrToInt(Edit2->Text) ;
p[1].x = StrToInt(Edit3->Text); p[1].y = StrToInt(Edit4->Text);
p[2].x = StrToInt(Edit5->Text); p[2].y = StrToInt(Edit6->Text);
p[3].x = StrToInt(Edit7->Text); p[3].y = StrToInt(Edit8->Text);
Canvas->Pen->Width = 2;
Canvas->Pen->Color = clRed;
Canvas->Polygon(p,3);

}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button2Click(TObject *Sender)
{
char K;
K = StrToInt(Form1->Edit9->Text);// растояние от каждой стороны на
//котором должен рисоваться внутренний n-угольник
TPoint p[4];
// координаты вершин
p[0].x = StrToInt(Edit1->Text) + K; p[0].y = StrToInt(Edit2->Text) + K;
p[1].x = StrToInt(Edit3->Text) + K; p[1].y = StrToInt(Edit4->Text) - K;
p[2].x = StrToInt(Edit5->Text) - K; p[2].y = StrToInt(Edit6->Text) - K;
p[3].x = StrToInt(Edit7->Text) - K; p[3].y = StrToInt(Edit8->Text) + K;
Canvas->Pen->Width = 2;
Canvas->Pen->Color = clBlack;
Canvas->Polygon(p,3);
}
Помогите пожалуйста с обобщенной формулой для всех типов многоугольников
 
эмм... у нас на форуме не принято орать...
 
Простите просто уже задолбался с этой прогой
 
Назад
Сверху