Здравствуйте, <Аноним>, Вы писали:
А>Здравствуйте, Нахлобуч, Вы писали:
Н>>Тады давай побольше кода (с определением m и в тегах ). А>смотри 1 сообщение !! А>а в коде этой переменной больше ни чего не косалось А>а код на пару листов без коментарие А>так что думаю любой прогер запутаеться
Да хоть тип-то ейный скажи! А то может ты там вещественные числа сравниваешь...
... << Rsdn@Home 1.1.4 beta 1 >>
HgLab: Mercurial Server and Repository Management for Windows
Re[10]: Ошибка
От:
Аноним
Дата:
26.07.04 10:43
Оценка:
Здравствуйте, Sir Wiz, Вы писали:
SW>
SW>if(m==21);
SW>b1+=1;
SW>
SW>Где выделенная точка с запятой совершенно лишняя.
я и без нее пробовал =)
Re[11]: Ошибка
От:
Аноним
Дата:
26.07.04 10:44
Оценка:
Здравствуйте, Sir Wiz, Вы писали:
SW>>Предположу, что у вас "на самом деле" было написано SW>Ерунду я написал, симптоматика бы обратная была.
??????/
Re[12]: Ошибка
От:
Аноним
Дата:
26.07.04 10:45
Оценка:
Здравствуйте, Нахлобуч, Вы писали:
Н>>>Тады давай побольше кода (с определением m и в тегах ). А>>смотри 1 сообщение !! А>>а в коде этой переменной больше ни чего не косалось А>>а код на пару листов без коментарие А>>так что думаю любой прогер запутаеться
Н>Да хоть тип-то ейный скажи! А то может ты там вещественные числа сравниваешь...
int m;!!!!!!!!!!!!!!!!!
Здравствуйте, <Аноним>, Вы писали:
SW>>Где выделенная точка с запятой совершенно лишняя. А>я и без нее пробовал =)
Забавно... Если вы пишете
bool b;
int i;
....
if(b);
++i;
Строчка ++i; Выполняется всегда, не зависимо от состояния b.
PS. Есть предложение зарегестрироваться на форуме. С Анонимом общаться неудобно.
... << RSDN@Home 1.1.3 stable >>
Re[12]: Ошибка
От:
Аноним
Дата:
26.07.04 10:58
Оценка:
Здравствуйте, Sir Wiz, Вы писали:
Не понимаю вас прежде чем говорить с кем не удобно объщяться
просмотрите все сообщения и вы там у видите
что я объявляю
if(m==21) не тут запятой
++b;
и лично для вас !!!!!!!!!!!!!!!!!!
я говорил что он перескакивает ++b а не выполняет каждый раз
я не понимаю как вы смотрите форум !!!!!!
Re[13]: Ошибка
От:
Аноним
Дата:
26.07.04 10:59
Оценка:
Здравствуйте, Sir Wiz, Вы писали:
Не понимаю вас прежде чем говорить с кем не удобно объщяться
просмотрите все сообщения и вы там у видите
что я объявляю
if(m==21) не тут запятой
++b;
и лично для вас !!!!!!!!!!!!!!!!!!
я говорил что он перескакивает ++b а не выполняет каждый раз
я не понимаю как вы смотрите форум !!!!!!
на самом деле. SW>>И обязательно прочтите статью.
я понимаю легче сказать челу ты иди правила провописания изучи
чем на вопрос ответить конкретный !!!
int m;
...
m=0;
...
if (tx=="99")//выброс
{
//номер строки
c.Delete(0,2);
m1+=2;
if(m==21)//как токо в watch m=21 то он всеровно не заходит на b1+=1; (вот он вопрос )
b1+=1;//что это может быть?
if(m1==1)
b1+=1;
Здравствуйте, <Аноним>, Вы писали:
А>я понимаю легче сказать челу ты иди правила провописания изучи А>чем на вопрос ответить конкретный !!!
"Провописание" это круто. Может действительно стоит сходить? И вапросы зодовать поканкретние?
А>int m;
А>...
А>if(m==21)//как токо в watch m=21 то он всеровно не заходит на b1+=1; (вот он вопрос )
А>b1+=1;//что это может быть?
Так не бывает.
Если так бывает, то нужно выкидывать компилятор в котором так бывает.
... << RSDN@Home 1.1.3 stable >>
Re[17]: Ошибка
От:
Аноним
Дата:
26.07.04 11:30
Оценка:
Здравствуйте, Sir Wiz, Вы писали:
SW>Так не бывает. SW>Если так бывает, то нужно выкидывать компилятор в котором так бывает.
я тоже считаю что так не бывает
так что сделаем так вот целый класс!!!
это синтаксический анализатор + преоброз лексем
надеюсь что будет понятно =(
int mov,mov2,ms,ms2,ms3=0;
CString a[38][38]={""};
CString command[10][4]={
{"adds","strn","13"},
{"addb","bool","13"},
{"delfs","strn"},
{"getfs","strn"},
{"print","L"},
{"input","P"},
{"konk"},
{"ifb"}};
CString com[20];
CString perem[100][3];//пер. кот. объявлены
CString per[100];//переменные кот используються
CString mas[10][10];
CString b,tx,c,mov3,cn2;
int mv3=0;
int mc=0;
int cn=0;
int bb=0;
...
int m;
class B
{
public:
int n,m1,n3,n2;
int b2,b1,b3,b4;
if(tx!="99"&&tx!="97")//добавление правила
{
c.Delete(0,2);
c=a[n][m]+c;
}
}
c=" error not found";
}
если это что то даст то это хорошо (это все я делал на VC NET)
это класс используется в моем языке программирования
да и еще вопросик не мог политеть компилятор из-за того что
у меня еще и VC6 стоит?
А>if(m==21) не тут запятой А>++b; А>я говорил что он перескакивает ++b а не выполняет каждый раз
А после перескока значение b изменяется?
Если да — смотри асм на это место... а лучше всем покажи
Re[15]: Ошибка
От:
Аноним
Дата:
26.07.04 12:09
Оценка:
Здравствуйте, Antikrot, Вы писали:
А>>if(m==21) не тут запятой А>>++b; А>>я говорил что он перескакивает ++b а не выполняет каждый раз A>А после перескока значение b изменяется? A>Если да — смотри асм на это место... а лучше всем покажи
нет оно не измен
я привел исходник этого класс см RE:17
Здравствуйте, Аноним, Вы писали:
А>надеюсь что будет понятно =(
вообще то не очень понятно.
чтобы было понятнее обрамляй свой код
тэгами [c][/c] или [ccode][/ccode]
int mov,mov2,ms,ms2,ms3=0;
CString a[38][38] = {""};
CString command[10][4] = {
{"adds","strn","13"},
{"addb","bool","13"},
{"delfs","strn"},
{"getfs","strn"},
{"print","L"},
{"input","P"},
{"konk"},
{"ifb"}};
CString com[20];
CString perem[100][3];//пер. кот. объявлены
CString per[100];//переменные кот используються
CString mas[10][10];
CString b,tx,c,mov3,cn2;
int mv3=0;
int mc=0;
int cn=0;
int bb=0;
//...int m;
class B
{
public:
int n,m1,n3,n2;
int b2,b1,b3,b4;
void xz()//синтаксический анализатор
{
//правили и т д
a[35][16]="161718103435";
a[35][15]="1517181033";
a[33][11]="111729181033";
a[29][12]="1230";
a[29][13]="1330";
a[29][11]="1117291830";
a[34][20]="201732181034";
a[34][14]="141732181035211712181034";
a[33][21]="97";
a[33][31]="97";
a[33][18]="97";
a[34][16]="97";
a[34][15]="97";
a[32][12]="1230";
a[32][13]="1330";
a[30][19]="1929";
a[30][18]="97";
a[10][10]="99";
a[11][11]="99";
a[12][12]="99";
a[13][13]="99";
a[14][14]="99";
a[15][15]="99";
a[16][16]="99";
a[17][17]="99";
a[18][18]="99";
a[19][19]="99";
a[20][20]="99";
a[21][21]="99";
a[31][31]="98";
c="3531";
m=0;
n=0;
tx="";
b+="31";
m1=0;
n2=0;
b1=0;
b3=0;
b4=0;
bb=0;
while(tx!="98")//допуск
{
n=(c[0]-48)*10+(c[1]-48);
m=(b[m1]-48)*10+(b[m1+1]-48);
tx=a[n][m];
if (tx=="99")//выброс
{
if(21==m)
b1+=1;
//номер строки
c.Delete(0,2);
m1+=2;
if(m==12&&b1>0)//соответствие переменных
{
while(com[b1]!=command[b3][0])
b3+=1;
while(per[b5]!=perem[b4][0])
{
b4+=1;
if (b4>99)
{
c="Unknown identiefer";
return;
}
}
if(command[b3][b5]=='L'&&comannd[b3][b5]==perem[b5][1])
{
}
else
{
c="Type mismatch";
return;
}
b5+=1;
b3=0;
}
}
if (tx=="97")// хммм
{
c.Delete(0,2);
}
if (tx=="")//ошибка
{
n2+=1;
m=1;
c=" ERROR in ";
while(n2>=(m*10))
{
m+=1;
}
m-=1;
n3=n2-m*10+48;
m+=48;
if(n2>9)
c.Insert(10,m);
c.Insert(11,n3);
c.Insert(12," line");
return;
}
if(tx!="99"&&tx!="97")//добавление правила
{
c.Delete(0,2);
c=a[n][m]+c;
}
}
c=" error not found";
}
};
Здравствуйте, <Аноним>, Вы писали:
А>Народ помогите плз
int m;
...
m=0;
...
if (tx=="99")//выброс
{
//номер строки
c.Delete(0,2);
m1+=2;if(m==21)//как токо в watch m=21 то он всеровно не заходит на b1+=1;
b1+=1;//что это может быть?
Так как оно может стать 21, если каждый раз по 2 прибавляем?