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

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

Вернуться   Форум программистов > Работа для программиста > Фриланс
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.06.2014, 19:03   #1
Petyu
Пользователь
 
Регистрация: 04.12.2012
Сообщений: 23
По умолчанию Составить блок схему программы написанной на С++ builder 6

Ребят не представляете как нужна блок схема или хотя бы граф схема данной программы (в блок схеме или граф схеме нельзя использовать программный код. Можно описывать действия только словесно).
Код программы представляю ниже.
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
#include "Unit2.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
Graphics::TBitmap *buffer1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------

int up[15], down[15], rows[8], x[8];

void queens(int c)
{
char symb = 'A';
for (int r = 0; r < 8; r++)
if (rows[r] && up[r-c+7] && down[r+c])
{
rows[r] = up[r-c+7] = down[r+c] = 0;
x[c] = r;
if (c == 7)
{
// Формируем строку индексов
AnsiString s="";
for (int k = 0; k < 8; k++) s=s + (symb++) + IntToStr(x[k]+1) + " ";
// Добавляем в список
Form1->ListBox1->Items->Add(s);
}
else queens(c + 1);
rows[r] = up[r-c+7] = down[r+c] = 1;
}
}


void __fastcall TForm1::Button1Click(TObject *Sender)
{
Button2->Enabled=true;
Button1->Enabled=false;
for (int i = 0; i < 15; i++) up[i] = down[i] = 1;
for (int i = 0; i < 8; i++) rows[i] = 1;
queens(0);
Button2->Click();
}
//---------------------------------------------------------------------------

void __fastcall TForm1::FormCreate(TObject *Sender)
{
// Создать битмап изображение
buffer1 = new Graphics::TBitmap;
// Задаем параметры изображения
buffer1->Height = PaintBox1->Height;
buffer1->Width = PaintBox1->Width;
//-------------------Заставка-------------------------------
Form2= new TForm2(this);
Form2->ShowModal();
Form2->Free();
}
//---------------------------------------------------------------------------

bool Ches(int i, int j)
{
if (j%2==0)
if (i%2==1) return true;
else return false;
else
if (i%2==0) return true;
else return false;
}
//-------------------------------------------------------------------------
void ChesScreen(void)
{
// Задаем цвет кисти
buffer1->Canvas->Brush->Color = clWhite;
// Рисуем закрашенный прямоугольник размером с поле
buffer1->Canvas->FillRect (TRect (0,0,buffer1->Width,buffer1->Height));
// Рисуем сетку шахматной доски
for (int q=0;q<=8;q++)
{
buffer1->Canvas->MoveTo(q*37,0);
buffer1->Canvas->LineTo(q*37,37*8);
buffer1->Canvas->MoveTo(0,q*37);
buffer1->Canvas->LineTo(37*8,q*37);
}

int polY,polX;

for (int i=0;i<=8;i++)
for (int j=0;j<=8;j++)
if (Ches(i,j))
{
polX=i;
polY=j;
TRect MyRect, MyOther;
MyRect = Rect(polX*37+1,polY*37+1,polX*37+37 ,polY*37+37);
MyOther = Rect(0,0,35,35);
buffer1->Canvas->CopyRect(MyRect,Form1->Image3->Canvas, MyOther);
}
// Получаем строку индексов
AnsiString s=Form1->ListBox1->Items->Strings[Form1->ListBox1->ItemIndex];
AnsiString query = "";
// Выбираем из строки только цифры
for(int i = 2; i < s.Length(); i += 3)
query = query + s[i];
// Расставляем фигуры
for (int i=0;i<=7;i++)
{
int j=StrToInt(query[i+1]);

polX=i;
polY=j-1;
TRect MyRect, MyOther;
MyRect = Rect(polX*37+1,polY*37+1,polX*37+37 ,polY*37+37);
MyOther = Rect(0,0,35,35);
if (Ches(i,j))
buffer1->Canvas->CopyRect(MyRect, Form1->Image1->Canvas, MyOther);
else
buffer1->Canvas->CopyRect(MyRect, Form1->Image2->Canvas, MyOther);
}
// Прикрепляем изображение к канве pictureBox
Form1->PaintBox1->Canvas->Draw (0, 0, buffer1);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
ListBox1->ItemIndex=ListBox1->ItemIndex+1;
ChesScreen();
}
//---------------------------------------------------------------------------

void __fastcall TForm1::ListBox1Click(TObject *Sender)
{
ChesScreen();
}
//---------------------------------------------------------------------------
Petyu вне форума Ответить с цитированием
Старый 12.06.2014, 09:45   #2
ТриСемёрки
Пользователь
 
Регистрация: 12.05.2010
Сообщений: 61
По умолчанию

А программа то, где? (Я имею в виду полный листинг)
ТриСемёрки вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите составить блок схему для готовой программы PascalABC.NET Sysypo4ka Помощь студентам 2 19.05.2014 07:18
Составить блок-схему программы meatq Помощь студентам 4 30.04.2013 07:04
есть код программы (на дельфи), нужно составить по нему блок схему as_sati Помощь студентам 10 19.04.2013 02:51
составить блок-схему по тексту программы Маюха Чайковская Помощь студентам 0 16.06.2011 00:37
Составить блок-схему программы на "C++ Builder 5" Kreadlling Общие вопросы C/C++ 0 30.09.2009 11:49