2016-11-20 125 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您代碼爲您的需求。