2016-11-26 4 views
0

Angenommen, ich habe eine 2-D-ArraySearching Array aus früherem Index aktuellen Index

  array[0][0]=1; 
      array[0][1]=3; 
      array[1][0]=2; 
      array[1][1]=3; 
      array[2][0]=3; 
      array[2][1]=1; 

Ich will nur die array[1][0] ‚s-Wert mit Werten von vorherigenarray[0][0] und array[0][1] und in ähnlicher Weise überprüfen array[1][1] mit vorherigearray[0][0], array[0][1] und array[1][0].

Wie löse ich das ??

+0

Ich verstehe nicht, was Sie fragen zu tun. Kannst du die Frage klären? –

+0

ja. int Array [0] [0] = 1; –

+0

Ich möchte nur den aktuellen Indexwert mit dem vorherigen Indexwert von 2D-Array überprüfen, bis ich den gleichen Wert habe –

Antwort

1

Sie bedeutet wahrscheinlich so etwas wie folgt aus:

for (i = 0; i <= current_i, ++i) 
    for (j = 0; j <= current_j, ++j) 
     if (i == current_i && j == current_j) { 
      found = 0; 
     } else if (array[i][j] == array[current_i][current_j]){ 
      found = 1; 
      goto out_of_loops; 
     } 

out_of_loops: 
if (found) /* do something */ else /* do other things */ 
0

Wenn Sie wollen einfach nur die vorherigen Werte, können Sie dies versuchen,

for (i = 0; i <= max_row, ++i){ 
    for (j = 0; j <= max_col, ++j){ 
     if(array[i][j] == array[i-1][j]){ 
       puts("FOUND"); 
       goto END; 
     } 
     if(array[i][j] == array[i][j-1]){ 
       puts("FOUND"); 
       goto END; 
     } 
     if(array[i][j] == array[i-1][j-1]){ 
       puts("FOUND"); 
       goto END; 
     } 
    } 
} END: