Вы не указали, по каким индексам столбцов / строк должны быть размещены полюсы, поэтому в следующем примере я помещаю их на 75 друг от друга, начиная с 0, поэтому полюсы имеют индексы столбцов / строк 0, 75150, 225, 300, 375 (так 6 полюсов).Это может быть не совсем то, что вы имели в виду, но это поможет вам начать.
#include "stdio.h"
#include "math.h"
double distance(double x, double y, double grid) {
x = fmod(x, grid);
y = fmod(y, grid); // <- these modulos makes us treat every interval like the interval 0...grid
double dx = grid/2 - fabs(x -grid/2);
double dy = grid/2 - fabs(y -grid/2);
//printf("%3u %3u %f %f \n", x, y, dx, dy);
return sqrt(dx*dx+dy*dy);
}
int main(void) {
int i; int j;
double grid[375][375];
for(i = 0; i < 375; i ++){
for(j = 0; j<375; j++){
grid[i][j] = distance(i, j, 75);
printf("%3u %3u %f\n", i, j, grid[i][j]);
}
}
}