Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/133.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何解决流动代码中的逻辑错误?_C++ - Fatal编程技术网

C++ 如何解决流动代码中的逻辑错误?

C++ 如何解决流动代码中的逻辑错误?,c++,C++,如果条件块内部未打印任何值。 逻辑错误在哪里? 谢谢 #包括 使用名称空间std; int fx[]={-1,-1,0,1,1,1,0}; int fy[]={-1,0,1,1,1,0,-1,-1}; 国际会计准则[20][20]; int n; int v1,v2; 虚无乐趣(内部a、内部b) { 对于(int i=0;i您有两个变量n,一个全局变量(值0),一个位于main输入提要中 fun使用全局函数 避免(非常量)全局变量。希望将n传递到fun: void fun(int (&a

如果条件块内部未打印任何值。 逻辑错误在哪里? 谢谢

#包括
使用名称空间std;
int fx[]={-1,-1,0,1,1,1,0};
int fy[]={-1,0,1,1,1,0,-1,-1};
国际会计准则[20][20];
int n;
int v1,v2;
虚无乐趣(内部a、内部b)
{

对于(int i=0;i您有两个变量
n
,一个全局变量(值
0
),一个位于
main
输入提要中

fun
使用全局函数

避免(非常量)全局变量。希望将
n
传递到
fun

void fun(int (&arr)[20][20], int n, int x, int y)
{
    const int fx[]= {-1,-1,-1,0,1,1,1,0};
    const int fy[]= {-1,0,1,1,1,0,-1,-1};

    for(int i=0; i<8; i++)
    {
        int v1 = x + fx[i];
        int v2 = y + fy[i];
        if(v1>=0 && v1<n && v2>=0 && v2<n)
        {
               std::cout << "----------" << std::endl;
               std::cout << v1 << " " << v2 << std::endl;
        }
    }
}

int main()
{
    int n;
    std::cin >> n;

    int arr[20][20];

    for(int i=0; i<n; i++) {
        for(int j=0; j<n; j++) {
            std::cin >> arr[i][j];
        }
    }
    fun(arr, n, 0, 1);
}
void fun(int(&arr)[20][20],int n,int x,int y)
{
const int fx[]={1,-1,-1,0,1,1,1,0};
常数int fy[]={-1,0,1,1,1,0,-1,-1};

对于(int i=0;i=0&&v1=0&&v2)与您的问题无关,但请阅读,并尝试参加一些课程或阅读,而不是学习“竞争”的所有坏习惯编程。@Shuvo mandol描述程序试图做什么。提示:使用断点并检查局部变量是否存在逻辑错误。我看不到输入
ar[.]之间的关系
乐趣
function@VladfromMoscow实际上我想知道为什么逻辑If语句不起作用?这里没有逻辑。
void fun(int (&arr)[20][20], int n, int x, int y)
{
    const int fx[]= {-1,-1,-1,0,1,1,1,0};
    const int fy[]= {-1,0,1,1,1,0,-1,-1};

    for(int i=0; i<8; i++)
    {
        int v1 = x + fx[i];
        int v2 = y + fy[i];
        if(v1>=0 && v1<n && v2>=0 && v2<n)
        {
               std::cout << "----------" << std::endl;
               std::cout << v1 << " " << v2 << std::endl;
        }
    }
}

int main()
{
    int n;
    std::cin >> n;

    int arr[20][20];

    for(int i=0; i<n; i++) {
        for(int j=0; j<n; j++) {
            std::cin >> arr[i][j];
        }
    }
    fun(arr, n, 0, 1);
}