本文整理汇总了C++中CNode::getCol方法的典型用法代码示例。如果您正苦于以下问题:C++ CNode::getCol方法的具体用法?C++ CNode::getCol怎么用?C++ CNode::getCol使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CNode
的用法示例。
在下文中一共展示了CNode::getCol方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: CDialog
CTipDlg::CTipDlg(CWnd* pParent, int table[9][9])
: CDialog(CTipDlg::IDD, pParent)
, m_index(0)
, m_bStep(false)
{
for(int i = 0;i < 9;i ++)
{
for(int j = 0;j < 9;j ++)
{
m_node[i][j].setLoc(i, j);
}
}
for(int i = 0;i < 9;i ++)
{
for(int j= 0;j < 9;j ++)
{
if(table[i][j] == 0)
{
m_nodeList[8].AddNode(&m_node[i][j]);
}
else
{
m_node[i][j].setNum(table[i][j]);
m_nodeList[0].AddNode(&m_node[i][j]);
}
}
}
for(CNode* pt = m_nodeList[0].GetHead();pt != NULL;pt = pt->next)
{
delSurround(pt->getData(), pt->getCol(), pt->getRow());
}
while (ConfirmNode());
}
示例2: ConfirmNode
bool CTipDlg::ConfirmNode(void)
{
int lev = 1;
for(int lev = 1;lev < 9;lev ++)
{
for(CNode *pt = m_nodeList[lev].GetHead();pt != NULL;pt = pt->next)
{
for(int num = 1;num < 10;num ++)
{
if(pt->hasNum(num))
{
bool otherHas = false;
for(int i = 0;i < 9;i ++)
{
if(m_node[i][pt->getRow()].hasNum(num) && i != pt->getCol())
{
otherHas = true;
break;
}
}
if(otherHas)
{
otherHas = false;
for(int i = 0;i < 9;i ++)
{
if(m_node[pt->getCol()][i].hasNum(num) && i != pt->getRow())
{
otherHas = true;
break;
}
}
}
else
{
NodeRC rc;
rc.col = pt->getCol();
rc.row = pt->getRow();
rc.way = 1;
m_vectorNum.push_back(rc);
goto labelEnd2;
}
if(otherHas)
{
otherHas = false;
int baseRow = pt->getRow() / 3 * 3;
int baseCol = pt->getCol() / 3 * 3;
for(int i = baseRow;i < baseRow + 3;i ++)
{
for(int j = baseCol;j < baseCol + 3;j ++)
{
if(m_node[j][i].hasNum(num) && !(i == pt->getRow() && j == pt->getCol()))
{
otherHas = true;
goto labelEnd2;
}
}
}
}
else
{
NodeRC rc;
rc.col = pt->getCol();
rc.row = pt->getRow();
rc.way = 2;
m_vectorNum.push_back(rc);
goto labelEnd2;
}
if(!otherHas)
{
NodeRC rc;
rc.col = pt->getCol();
rc.row = pt->getRow();
rc.way = 3;
m_vectorNum.push_back(rc);
}
labelEnd2:
if(!otherHas)
{
m_nodeList[pt->getLen() - 1].RemoveNode(pt);
pt->setNum(num);
m_nodeList[0].AddNode(pt);
delSurround(num, pt->getCol(), pt->getRow());
return true;
}
}
}
}
}
return false;
//.........这里部分代码省略.........