如何替换这个二维数组的元素?

问题描述

我正在为我的学校作业编写一个 15 益智游戏。我采用三个运动参数。它们是 x、y 坐标和方向。

但是我的代码并没有一次又一次地替换打印第一个表格的元素。怎么了?

这部分是运动的函数调用

if ((x<Cols && x>=0)&&(y<Rows && y>=0))
{
    switch (move)
    {
    case 0:
        leftOp((int *)arr,Rows,Cols,&Row,&Col,x,y);
        break;
    default:
        printf("error!!1\n");
        break;
    }
}

而这部分是运动功能

    void leftOp(int* arr,int Rows,int Cols,int* Momrow,int* MomCol,int x,int y){
    int temp;
    if (y == *Momrow)
    {
        while (x != *MomCol && *MomCol > x)
        {
            temp = arr[*Momrow * Cols + *MomCol];
            arr[*Momrow * Cols + *MomCol] = arr[*Momrow * Cols + *MomCol - 1];
            arr[*Momrow * Cols + *MomCol - 1] = temp;
        }
    }
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)