2016-11-20 118 views
-2

我该如何将其重写为C?将伪代码转换为C

for i = 1; i <= N && !quit; i++ 
     { 
     for j = 1; i <= N && !quit; j++ 
      { 
      quit = x(i,j) equals y(i,j) 
      } 
     } 

我已经试过这样的事情

for (i = 1; i >= 1; i++) 
     { 
     for j = 1; j >= 1; j++) 
      { 
      if (x==y) 
        printf("Good"); 
      else 
        continue; 
      } 
     } 

但我认为这是总的无义,我只是不能找出正确的解决方案。该程序应计算两个方程x=a+u*i; y=b+v*j,其中我知道a, b, u, v,我需要(x=y),否则重复,直到x=y。如果不能相等,那就是printf("Wrong")

+1

检查赋值运算符和相等运算符之间的区别 – snr

+0

您的C代码应该看起来更像伪代码。它看起来像'x'和'y'应该是函数或数组,取决于伪代码的“语法”。另外,如果'x'和'y'是数组,你可能需要调整一些东西,因为C具有基于0的数组,而许多伪代码描述假设基于1的数组。 –

回答

0

试试这个:

for (i=1; i <= N && !quit; i++) 
{ 
    for (j=1; j <= N && !quit; j++) 
    { 
      if (x==y){ 
       printf("Good"); 
       break; 
      } 

      if(j==N && i==N && x!=y){ 
       printf("Wrong"); 
      } 

    } 
} 
-1

看看下面的代码:

unsigned i; 
    unsigned j; 
    bool quit = false; 
    for (i = 1; i <= N && !quit; i++) 
    { 
     for (j = 1; j <= N && !quit; j++) 
     { 
      if (x[i][j] == y[i][j]) 
      { 
      quit = true; 
      } 
     } 
    } 

我假设x和y是全局数组像以下:

int x[N+1][N+1] = { 0 }; 
int y[N+1][N+1] = { 0 }; 

Rearange您代码为您的需求。