@[stoneoceam](/user/706001)
```cpp
if (z == 0) {
int y1 = x + r;
for (int i = x - r; i <= x + r; i++) {
int x1 = y - r;
for (int j = y - r; j <= y + r; j++) {
kk[x1][y1] = temp[i][j];
x1++;
}
y1--;
}
}
if(z == 1) {
int y1 = y - r;
for (int i = x - r; i <= x + r; i++) {
int x1 = x + r;
for (int j = y - r; j <= y + r; j++) {
kk[x1][y1] = temp[i][j];
x1--;
}
y1++;
}
}
```
旋转的实现出了问题,您再手工画个图看看,旋转如何正确实现。
by metaphysis @ 2022-06-07 11:46:50
Bug在这里:
```cpp
if (z == 0) {
int y1 = x + r;
for (int i = x - r; i <= x + r; i++) {
int x1 = y - r;
for (int j = y - r; j <= y + r; j++) {
kk[x1][y1] = temp[i][j];
x1++;
}
y1--;
}
}
```
行和列的关系要搞清楚,您再找找。
by metaphysis @ 2022-06-07 11:57:00
@[metaphysis](/user/333388)
```cpp
if (z == 0) {
int y1 = y + r;
for (int i = x - r; i <= x + r; i++) {
int x1 = x - r;
for (int j = y - r; j <= y + r; j++) {
kk[x1][y1] = temp[i][j];
x1++;
}
y1--;
}
}
```
找到问题了,感谢大佬,全AC了
by stoneoceam @ 2022-06-07 18:52:25