Добавил вывод полигона с результатом
This commit is contained in:
24
kernel.cu
24
kernel.cu
@@ -47,6 +47,25 @@ void generate_polygon(int* P, int n) {
|
||||
P[n*n - 1] = 0; // Гарантируем, что финиш свободен
|
||||
}
|
||||
|
||||
void print_distance_map(int* P, unsigned int* dist, int n) {
|
||||
for (int i = 0; i < n; i++) {
|
||||
for (int j = 0; j < n; j++) {
|
||||
int idx = i * n + j;
|
||||
if (P[idx] == -1)
|
||||
printf("████"); // Препятствие
|
||||
else if (i == 0 && j == 0)
|
||||
printf("S "); // Старт
|
||||
else if (i == n-1 && j == n-1)
|
||||
printf("F "); // Финиш
|
||||
else if (dist[idx] == INF)
|
||||
printf(". "); // Недостижимая область
|
||||
else
|
||||
printf("%-4u", dist[idx]); // Вывод расстояния
|
||||
}
|
||||
printf("\n");
|
||||
}
|
||||
}
|
||||
|
||||
int main() {
|
||||
const int n = MATRIX_SIZE;
|
||||
const int block_size = BLOCK_SIZE;
|
||||
@@ -109,9 +128,12 @@ int main() {
|
||||
}
|
||||
|
||||
printf("Time: %.2f ms\n", milliseconds);
|
||||
printf("Matrix: %dx%d | Blocks: %dx%d | Obstacles: %d%%\n",
|
||||
printf("Matrix: %dx%d | Blocks: %dx%d | Obstacles: %d%%\n\n",
|
||||
n, n, block_size, block_size, OBSTACLE_PROB);
|
||||
|
||||
if (MATRIX_SIZE < 100)
|
||||
print_distance_map(P, dist, MATRIX_SIZE);
|
||||
|
||||
// Освобождение памяти
|
||||
free(P);
|
||||
free(dist);
|
||||
|
||||
Reference in New Issue
Block a user