Я пытаюсь смоделировать шахматные движения, но как-то внутри массива появляются значения вне размера массива.
Я пытаюсь выяснить, что не так, но не могу найти решение.
У меня есть пример код:
#include <iostream>
using namespace std;
int x1,y1;
int main(){
int n=10;
int x=5;
int y=0;
char tablero[n][n];
for(int i=0; i<n; i++){
for(int j=0; j<n; j++){
tablero[i][j]='.';
}
}
for(int i=0; i<n; i++){
for(int j=0; j<n; j++){
if(j==x || j==y){
tablero[x][y]='k';
x1=x-1; y1=y-1; tablero[x1][y1]='x';
x1=x-1; y1=y; tablero[x1][y1]='x';
x1=x-1; y1=y+1; tablero[x1][y1]='x';
x1=x; y1=y-1; tablero[x1][y1]='x';
x1=x; y1=y+1; tablero[x1][y1]='x';
x1=x+1; y1=y-1; tablero[x1][y1]='x';
x1=x+1; y1=y; tablero[x1][y1]='x';
x1=x+1; y1=y+1; tablero[x1][y1]='x';
}
}
}
for(int i=0; i<n; i++){
for(int j=0; j<n; j++)
cout<<tablero[j][i];
cout<<endl;
}
}
Код должен выводить это:
....xkx...
....xxx...
..........
..........
..........
..........
..........
..........
..........
..........
Вместо из этого выход :
....xkx...
....xxx...
..........
..........
..........
..........
..........
..........
..........
...xxx....
Как я могу это исправить?
PS Я новичок в этом: P