Ich habe Probleme herauszufinden, wie die 1 in dem Array in meinem Code unten unter Berücksichtigung der Ecken & Kanten des Arrays identifiziert zu identifizieren.Nachbarn in einem Array
#include <stdio.h>
/* define grid size */
#define SIZE 7
int grid[SIZE][SIZE];
/* function to find the number of occupied adjacent cells */
int neighbors (int i, int j);
void main()
{
int i, j, n;
/* initialize the entire grid to be zero */
for (i = 0; i < SIZE; i++)
for (j = 0; j < SIZE; j++)
grid[i][j] = 0;
/* introduce a few ones */
grid[1][2] = 1;
grid[2][2] = 1;
grid[1][4] = 1;
grid[2][4] = 1;
grid[3][2] = 1;
grid[3][3] = 1;
grid[3][4] = 1;
grid[5][3] = 1;
grid[6][2] = 1;
for (i = 0; i < SIZE; i++)
for (j = 0; j < SIZE; j++) {
n = neighbors(i,j);
printf ("Number of neighbors to element %d,%d =%d\n",i,j,n);
}
return;
}
/* function to compute the neighbors */
int neighbors (int i, int j)
Ich vermute, dass ich verwenden können, wenn Aussagen zu ändern, wie der Code wird ausgeführt, wenn i = 0 oder i = 6, und auch, wenn j = 0 oder j = 6, aber ich bin nicht sicher, wie fortfahren. Jede Hilfe würde sehr geschätzt werden
Bitte einrücken Ihren Code in Ihrer Frage. – jdarthenay
Auch 7 ist bereits außerhalb der Grenzen Ihrer Matrix, ich denke im letzten Satz meinen Sie "i == 1 oder i == 6, sowie wenn j == 1 oder j == 6" – jdarthenay
@jdarthenay Sie sind korrekt, die entsprechenden Änderungen wurden vorgenommen –