Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
2 / 2 / 1
Регистрация: 09.12.2010
Сообщений: 10
1

японский кросворд

14.05.2011, 13:53. Показов 2109. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Нужно написать программу для создания японских кросвордов с помощью StringGrid
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.05.2011, 13:53
Ответы с готовыми решениями:

Японский кросворд
Добрый день. Вот пришла идея создать Японский кроссворд и думаю над способом создание и заполнение...

Японский кроссворд
Если у кого-то есть приложение японский кроссворд киньте пожалуйста.

Японский кроссворд
Здравствуйте, сейчас пишу прогу наподобие этой, только не понятно что за элемент выступает в роли...

японский календарь
В японском календаре был принят 60-ти летний цикл, состоящий из пяти 12-ти летних подциклов. Внутри...

10
LK
Заблокирован
14.05.2011, 14:08 2
а кто против ? пишите ...
0
2 / 2 / 1
Регистрация: 09.12.2010
Сообщений: 10
14.05.2011, 14:24  [ТС] 3
нужна помощь
0
LK
Заблокирован
14.05.2011, 14:31 4
для начала вам сюды Закрашивание ячеек в StringGrid, и сюды StringGridDrawItem
0
2 / 2 / 1
Регистрация: 09.12.2010
Сообщений: 10
15.05.2011, 16:44  [ТС] 5
но как сделать так чтобы при выборе ячейки закрасить ее, например, черным цветом
0
LK
Заблокирован
15.05.2011, 16:48 6
Жень, оно мне поискать как бы не трудно - вопрос на форуме популярный, но попробуй для разнообразия сам .
0
2 / 2 / 1
Регистрация: 09.12.2010
Сообщений: 10
15.05.2011, 23:45  [ТС] 7
вроде работает
C++
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
#include <vcl.h>
#pragma hdrstop
 
#include "Unit1.h"
 
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
int i;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::StringGrid1SelectCell(TObject *Sender, int ACol, int ARow,
          bool &CanSelect)
{
 
 
  if (i==1) StringGrid1->Cells[ACol][ARow]=1;
  if (i==2) StringGrid1->Cells[ACol][ARow]=0;
 
}
//---------------------------------------------------------------------------
void __fastcall TForm1::StringGrid1DrawCell(TObject *Sender, int ACol, int ARow, TRect &Rect,
          TGridDrawState State)
{
 
if (StringGrid1->Cells[ACol][ARow]==1) {Form1->StringGrid1->Canvas->Brush->Color=clBlack;
 Form1->StringGrid1->Canvas->FillRect(Rect);                  }
if (StringGrid1->Cells[ACol][ARow]==0) {Form1->StringGrid1->Canvas->Brush->Color=clWhite;
 Form1->StringGrid1->Canvas->FillRect(Rect);                  }
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
i=1;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
i=2;
}
1
2 / 2 / 1
Регистрация: 09.12.2010
Сообщений: 10
21.05.2011, 19:38  [ТС] 8
как можно подсчитать количество закрашеных клеток в строке/столбце
0
145 / 100 / 6
Регистрация: 11.03.2010
Сообщений: 477
23.05.2011, 10:39 9
ну раз вы на канве рисуете, то предположу что никак, хотя можно попиксельно считывать цвет, и считать считать считать

а проще сразу при зарисовке вводить некую пременную, куда и заносить количество закрашеных ячеек.
0
2 / 2 / 1
Регистрация: 09.12.2010
Сообщений: 10
30.05.2011, 01:07  [ТС] 10
вроде бы все получается но есть проблема. вот скрин
вот исходник
C++
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
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
#include <vcl.h>
#pragma hdrstop
 
#include "Unit1.h"
#include "Unit2.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
int i;
int Col,Row;
int mas[10][10];
 
int st[10];
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::StringGrid1SelectCell(TObject *Sender, int ACol, int ARow,
          bool &CanSelect)
{
    if (i==1) StringGrid1->Cells[ACol][ARow]='1';
  if (i==2) StringGrid1->Cells[ACol][ARow]='0';
  }
//---------------------------------------------------------------------------
void __fastcall TForm1::StringGrid1DrawCell(TObject *Sender, int ACol, int ARow, TRect &Rect,
          TGridDrawState State)
{
 
if (StringGrid1->Cells[ACol][ARow]=='1') {Form1->StringGrid1->Canvas->Brush->Color=clBlack;
 Form1->StringGrid1->Canvas->FillRect(Rect);
                }
if (StringGrid1->Cells[ACol][ARow]=='0') {Form1->StringGrid1->Canvas->Brush->Color=clWhite;
 Form1->StringGrid1->Canvas->FillRect(Rect);                  }
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
i=1;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
i=2;
}
//---------------------------------------------------------------------------}
//---------------------------------------------------------------------------
 
 
 
 
 
void __fastcall TForm1::Button5Click(TObject *Sender)
{
for (int col = 0; col < 5; col++) {
       for (int row = 0; row < 5; row++) {
           StringGrid2->Cells[col][row]="";
       StringGrid3->Cells[col][row]="";
       }
       }
        int sch=0;
int l=0,m=0;
    for (int col = 0; col < 10; col++) {
       for (int row = 0; row < 10; row++) {
           if (StringGrid1->Cells[col][row]=='1') {sch++;
              if (StringGrid1->Cells[col][row+1]=='0') {
 
                     StringGrid2->Cells[l][m]=sch;
                    sch=0;
                    m++;
              }
           }
       }
       m=0;
       l++;
       sch=0;
    }
    int j=0,k=0;
    for (int col = 0; col < 10; col++) {
       for (int row = 0; row < 10; row++) {
           if (StringGrid1->Cells[row][col]=='1') {sch++;
              if (StringGrid1->Cells[row+1][col]=='0') {
 
                     StringGrid3->Cells[j][k]=sch;
                    sch=0;
                    j++;
 
              }
           }
       }
       sch=0;
       j=0;
       k++;
    }
}
//---------------------------------------------------------------------------
 
 
void __fastcall TForm1::FormCreate(TObject *Sender)
{
 for (int row = 0; row < 10; row++)
       for (int col = 0; col < 10; col++)
      StringGrid1->Cells[row][col]='0';
       }
//---------------------------------------------------------------------------
0
LK
Заблокирован
30.05.2011, 01:23 11
1. Если вы выкладываете код программы, тем более, несколько десятков или сотен строк кода , неплохо в узловых местах - при объявлении переменных , циклах, условиях , других важных действиях - комментировать код - так, как вы понимаете сами, что происходит, или что должно происходить.
2. Если есть проблема, то одного скрина недостаточно, так как беглым взглядом я вашей проблемы не осознал, а разглядывать ваш рисунок часами, надеясь на экстрасенсорные возможности, сами понимаете, как оно другим надо . Поэтому неплохо бы сопроводить рисунок описанием проблемы , а также цитированием текстов возможных имеющихся ошибок и т.д, и т.п.
3. Потому, что все это нужно вам, и только вам, единственному .
2
30.05.2011, 01:23
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.05.2011, 01:23
Помогаю со студенческими работами здесь

Старо японский календарь
Всем привет. Прошу помочь, подскажите при помощи чего можно избежать громозкого кода. Погуглил...

Японский кроссворд с использованием MPI
Нужно создать японский кроссворд на C++, наподобие такого , только с использованием MPI команд,...

Написать программу японский гороскоп
Здравствуйте. Мне нужно написать программу японский гороскоп. Но самое интересное в том, что каждый...

Какое х, слово в кросворд пять букв
На булевом кубе можно определить отношение порядка следующим образом: для двух наборов a =...

Помогите где нибудь кросворд найти
Товарищи, помогите.. мне надо найти инфу как кросворд делать на Delphi (для чайника), иль какой...

Календарь японский ...
Написать программу, которая вводит номер года нашей эры и печатать его название по старояпонскому...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru