如何使用rand函数填充数组?

时间:2018-07-15 20:42:19

标签: c algorithm matrix while-loop do-while

我想从中心开始填充一个矩阵。此后,我必须为位置提供rand()函数,停止条件是查找邻居分配的值1的位置。必须这样做,直到到达矩阵的边界,即x或y处于位置0或(size-1)时都为a

x = y = (size + 1) / 2;
   matrix[x][y]=1;                   //default of the matrix
    do{
       x1=rand() %(size-1);          //random position in x
       y1=rand() %(size-1);          // random position in y
       matrix[x1][y1]=1;             //declare the value in the position obtained
    }while((matrix[x1-1][y1  ]==0)||
           (matrix[x1+1][y1  ]==0)||
           (matrix[x1  ][y1-1]==0)|| 
           (matrix[x1  ][y1+1]==0)||
           (x1==x)||(y1==y));

我的主要问题是我的条件是否为真,当我到达矩阵的边界时如何停止这种联系。

1 个答案:

答案 0 :(得分:0)

要从矩阵的中心向外移动,请选择一个围绕中心的正方形,然后迭代该正方形中的元素。这是一个处理奇数矩阵的示例。您可以添加其他条件以根据邻居的值来设置值。

"UPDATE Team SET teamName=:teamName, teamLogo=:teamLogo WHERE teamID=:teamID")