C
- voluntas
- @ignis_fatuus
- ブン
- @Linda_pp
- 清楚なC++メイドBOT
- @tzik_tack
- 長谷川一輝
- wraith13
- @jj1bdx
- @cpp_akira
- 安藤敏彦
- @srz_zumix
- Siv3D
- @okdshin
- @hnokx
- @ishidakei
- @take_cheeze
- TAKEI Yuya
- @mumumu
- I (@wx257osn2)
- Tommy6
- わたやん
- @KorekaraSEDB
- @kariya_mitsuru
- @ciniml
- @beam2d
- @grafi_tt
- @nekketsuuu
- LouiS0616
- @volanja
- 大鎌広
- むてら
- ガチKGB
- 三重野賢人
x
32
1
2
3
int wrap(int x,int N){
4
return (x % N + N) % N;
5
6
}
7
8
int nbrOfNeighbors(int x, int y, int rows, int cols, char **grid) {
9
int neighbors = 0;
10
11
12
for(int i = -1; i < 2; i++){
13
for(int j = -1; j < 2; j++){
14
int col = wrap((x+i+cols),cols);
15
int row = wrap((y + j + rows),rows);
16
if(grid[row][col] == '1'){
17
neighbors++;
18
}
19
}
20
}
21
22
23
return neighbors;
24
}
25
26
int main(void) {
27
char data[][4] = {"111", "101", "111"};
28
char* ps[] = {data[0], data[1], data[2]};
29
printf("%d\n", nbrOfNeighbors(1, 1, 3, 3, ps));
30
return 0;
31
}
32
$ gcc prog.c -Wall -Wextra -std=c99 -pedantic
Start
8
0
Finish