C语言二维数组:计算0到1的最短距离
如果您想将数组 'arr' 的值赋给数组 'ayy',然后根据修改后的 'ayy' 数组输出 0 距离 1 的最短距离,可以按照以下方式修改代码:
#include <stdio.h>
#include <math.h>
int main() {
int distance = 0;
int arr[2][2] = {{1, 0}, {1, 0}};
int ayy[2][2];
// 将 arr 数组的值赋给 ayy 数组
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++) {
ayy[i][j] = arr[i][j];
}
}
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++) {
if (ayy[i][j] == 0) {
int minDistance = 100; // 初始设定一个较大的值作为最短距离
for (int g = 0; g < 2; g++) {
for (int k = 0; k < 2; k++) {
if (arr[g][k] == 1) {
distance = abs(i - g) + abs(j - k);
if (distance < minDistance) {
minDistance = distance;
}
}
}
}
printf("%d\n", minDistance);
}
}
}
return 0;
}
在这个修改后的代码中,我们首先添加了一个循环,将数组 'arr' 的值赋给数组 'ayy'。然后,我们根据修改后的 'ayy' 数组进行遍历,并计算 0 距离 1 的最短距离。
希望这次的修改能满足您的需求!如果您还有其他问题,请随时提问。
原文地址: https://www.cveoy.top/t/topic/5Dc 著作权归作者所有。请勿转载和采集!