Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Миша777
0 / 0 / 0
Регистрация: 28.05.2012
Сообщений: 23
#1

Списочные ячейки( изменить код ) - C++

28.04.2013, 21:27. Просмотров 243. Ответов 0
Метки нет (Все метки)

Есть программа. Но мне надо переделать её под список (a ( ( ( (b) ) ) ) (c( (d) ) ) )
Помогите, пожалуйста!

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
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include <conio.h>
#include <math.h>
#include <string.h>
typedef struct
{
  int x,y,type;
  char *head,*tail;
}cell;
                                                          
cell mas[]={ {0,0,0,"X"," ",},{1,1,1,"I"," "},{2,1,1,"O"," "},{3,1,1,"O","X"},
                              {1,2,2,"a"," "},{2,2,1,"O","X"},{3,2,1,"I"," "},{4,2,1,"O","X"},
                                              {2,3,1,"O","X"},{3,3,2,"c"," "},{4,3,1,"I","X"},
                                              {2,4,1,"I","X"},                {4,4,2,"d"," "},
                                              {2,5,2,"b"," "}} ;                                
                                                                                                             
 
void drawcell(int x,int y,char *hd,char *tl)
{
 int tx,ty;
 tx=10*x+(x-1)*40;
 ty=10*y+(y-1)*20;
 rectangle(tx,ty,tx+20,ty+20);
 rectangle(tx+20,ty,tx+40,ty+20);
 outtextxy(tx+8,ty+8,hd);
 outtextxy(tx+28,ty+8,tl);
}
 
void drawlink(int x,int y,int dest)
{
 int tx,ty;
 //dest: 1-vniz, 2-vpravo;
 if (dest==1)
      {
       tx=x*10+(x-1)*40+10;
       ty=30*y;
       line(tx,ty,tx,ty+10);
       line(tx,ty+10,tx+3,ty+6);
       line(tx,ty+10,tx-3,ty+6);
      }
 if (dest==2)
      {
        tx=50*x;
        ty=10*y+(y-1)*20+10;
        line(tx,ty,tx+10,ty);
        line(tx+10,ty,tx+6,ty+3);
        line(tx+10,ty,tx+6,ty-3);
      }
}
 
void drawletter(int x,int y,char *let)
{
 int tx,ty;
 tx=10*x+(x-1)*40+5;
 ty=10*y+(y-1)*20;
 outtextxy(tx,ty,let);
}
 
struct memc
{
 int x,y;
 struct memc *h,*t;
};
 
struct inf
{
  int x,y;
  char *let;
};
void meminf(int num,inf *pointer);
void memcell(int num,memc *pointer)
{
   pointer=(memc*)malloc(sizeof(cell));
 
   if (strcmp(mas[num].head,"I")==0)
    {
    for (int m=1;m<=19;m++)
     if (mas[m].x==mas[num].x&&mas[m].y-1==mas[m].y) meminf(m,(inf*)pointer->t);
    }
   if (strcmp(mas[num].head,"O")==0)
    {
      for (int m=1;m<=19;m++)
     if (mas[m].x==mas[num].x&&mas[m].y-1==mas[m].y) memcell(m,pointer->t);
    }
 
   if (strcmp(mas[num].tail,"X")!=0)
    {
      memcell(num+1,pointer->t);
    }
}
 
void meminf(int num,inf *pointer)
{
  pointer=(inf*)malloc(sizeof(inf));
  strcpy(pointer->let,mas[num].head);
}
 
void memoryfill()
{
  memc *point;
 // point=(cell*)malloc(sizeof(cell));
  memcell(1,point);
}
 
int main()
{
 
int gdriver = DETECT, gmode,errorcode;
 
initgraph(&gdriver, &gmode, "BGI\\");
setfillstyle(0,0);
 
 
memoryfill();
 
 
bar(0,0,1000,1000);
for (int i=1;i<=19;i++)
 {
   if (mas[i].type==2)  drawletter(mas[i].x,mas[i].y,mas[i].head);
   if (mas[i].type==1)
         {
           drawcell(mas[i].x,mas[i].y," ",mas[i].tail);
           drawlink(mas[i].x,mas[i].y,1);
           if (strcmp(mas[i].tail,"X")!=0)  drawlink(mas[i].x,mas[i].y,2);
 
         }
 }
 
getch();
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.04.2013, 21:27
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Списочные ячейки( изменить код ) (C++):

Изменить код - C++
Всем привет есть код #include &quot;stdafx.h&quot; #include &lt;fstream&gt; #include &lt;iostream&gt; using namespace std; int _tmain(int...

Изменить код С++ - C++
Вот код #include &lt;cstdlib&gt; #include &lt;iostream&gt; #include &lt;math.h&gt; using namespace std; float f1(float x, float y, float z) {...

Изменить код программы - C++
#include &quot;stdafx.h&quot; #include &quot;stdio.h&quot; #include &quot;conio.h&quot; int main() { int const N = 10; int a; int i, max,...

Изменить код программы - C++
Всем доброго времени суток, помогите отформатировать код, необходимо заменить cin.ignore и cin.get чем то эквивалентным, например как cout...

Изменить код. ООП - C++
изменить код чисто визуально, чтобы не нарушился смысл. RMaxPlus.h #ifndef RMAXPLUS_HPP #define RMAXPLUS_HPP class...

Изменить код exe файла - C++
Доброго всем утра, помогите пожалуйста справится с задачей: у меня есть exe файл, который запрашивает логин и пароль, проанализировав...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.04.2013, 21:27
Привет! Вот еще темы с ответами:

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

Изменить код, используя цикл - C++
Помогите разобраться с циклом, Есть код, его надо изменить под циклический, как сделать х3, помогите пожалуйста. #include &quot;stdafx.h&quot; ...

Необходимо изменить код программы. - C++
Есть программа для измерения напряжения до 25.5В и тока до 2.55А , а мне необходимо измерять напряжение и ток до 50В и 5А соответственно....

Решение интеграла (необходимо немного изменить код) - C++
есть код, как я думал правильный (он компилируется без ошибок)! Но в итоге выдает решение интеграла равно 0, что я думаю не есть правильно,...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru