пока единственый раз в своей практике столкнулся с рекурсией, так нет бля ошибка переполнения стека
И че делать ?
Язык, исходник, оперативка на машине.
Visual C++
void rnd()
{
if (all>=max_q) end();
else
{
switch (ax.Next(3))
{
case 0:
{
cur_t=ax.Next(tc);
if (ts[cur_t]!=nullptr)
{
groupBox1->Visible=true;
groupBox3->Visible=false;
groupBox4->Visible=false;
loadtest(ts[cur_t]);
MessageBox::Show("Згенеровано тест № "+Convert::ToString(cur_t)+" "+ts[cur_t]->q );
} else rnd();
break;
}
case 1:
{
cur_w=ax.Next(wrdc);
if (wrd[cur_w]!=nullptr){
groupBox4->Visible=true;
groupBox3->Visible=false;
groupBox1->Visible=false;
loadwrd(wrd[cur_w]);
rema=wrd[cur_w]->cou;
button4->Text=Convert::ToString(rema);
MessageBox::Show("Згенеровано штуку № "+Convert::ToString(cur_w)+" ");
}else rnd();
break;
}
case 2:
{
if (qvc>=0){
cur_q=ax.Next(qvc);
if (qvst[cur_q]!=nullptr)
{
groupBox3->Visible=true;
groupBox4->Visible=false;
groupBox1->Visible=false;
loadqvs(qvst[cur_q]);
MessageBox::Show("Згенеровано питання № "+Convert::ToString(cur_q)+" "+qvst[cur_q]->qw );
}else rnd();}
break;
}
rnd();
}
label3->Text=Convert::ToString(all);
}}
============================================
============================================
============================================
wrd,ts,qvst-динамические масивы
wrdc,tc,qvc-количество "заполненых" елементов масива
cur_w,cur_t,cur_q-поточные елементы
void rnd()
{
if (all>=max_q) end();
else
{
switch (ax.Next(3))
{
case 0:
{
cur_t=ax.Next(tc);
if (ts[cur_t]!=nullptr)
{
groupBox1->Visible=true;
groupBox3->Visible=false;
groupBox4->Visible=false;
loadtest(ts[cur_t]);
MessageBox::Show("Згенеровано тест № "+Convert::ToString(cur_t)+" "+ts[cur_t]->q );
} else rnd();
break;
}
case 1:
{
cur_w=ax.Next(wrdc);
if (wrd[cur_w]!=nullptr){
groupBox4->Visible=true;
groupBox3->Visible=false;
groupBox1->Visible=false;
loadwrd(wrd[cur_w]);
rema=wrd[cur_w]->cou;
button4->Text=Convert::ToString(rema);
MessageBox::Show("Згенеровано штуку № "+Convert::ToString(cur_w)+" ");
}else rnd();
break;
}
case 2:
{
if (qvc>=0){
cur_q=ax.Next(qvc);
if (qvst[cur_q]!=nullptr)
{
groupBox3->Visible=true;
groupBox4->Visible=false;
groupBox1->Visible=false;
loadqvs(qvst[cur_q]);
MessageBox::Show("Згенеровано питання № "+Convert::ToString(cur_q)+" "+qvst[cur_q]->qw );
}else rnd();}
break;
}
rnd();
}
label3->Text=Convert::ToString(all);
}}
============================================
============================================
============================================
wrd,ts,qvst-динамические масивы
wrdc,tc,qvc-количество "заполненых" елементов масива
cur_w,cur_t,cur_q-поточные елементы
magic push buttons ^_^
оффтоп: реактор съедает <pre> тэг. не кавай! может кто-то захочет открыть свою мастер-класс колонку, а тут такое
оффтоп: реактор съедает <pre> тэг. не кавай! может кто-то захочет открыть свою мастер-класс колонку, а тут такое
люто
ах ты сукина дочь !!!!!
нашел ошибку
У меня выходило бесконечное углубление в рекурсии
нашел ошибку
У меня выходило бесконечное углубление в рекурсии
> пока единственый раз в своей практике столкнулся с рекурсией, так нет бля ошибка переполнения стека
> И че делать ?
попробуй рекурсию
> И че делать ?
попробуй рекурсию
Чтобы написать коммент, необходимо залогиниться