Я пытаюсь, чтобы пользователь ввел 2d массив, а затем он распечатал бы этот массив в виде рамки, я написал код и он работает, но когда дело доходит до печати массива, программа просто печатает первую строку из того, что пользователь вводил снова и снова, как это:
Enter size
3
Enter Array
1 2 3
4 5 6
7 8 9
Your Array:
a b c
# # # # #
1 # 1 2 3 #
2 # 1 2 3 #
3 # 1 2 3 #
# # # # #
Вот мой код: я чувствую небольшую ошибку, но просто не могу ее найти.
#include <stdio.h>
int main(){
int i,j;
int y,x;
int n,a,num,readNum,z;
char ch;
ch = 'a';
num = 1;
printf("Enter size\n");
readNum = scanf("%d",&z);
int Board[z][z];
n = z+2;
a = n+1;
printf("Enter Array\n");
for(x=0;x<z;x++){
for(y=0;y<z;y++){
readNum = scanf("%d",&Board[x][y]);
}
}
printf("\nYour Array:\n");
x=0;
for(i=0;i<a;i++){
y=0;
for(j=0;j<a;j++){
if(((i==0)&&(j==1))||
((i==1)&&(j==0))||
((i==0)&&(j==n))||
((j==0)&&(i==n))){
printf(" ");
}
if ((i==0)&&(j==0)){
printf(" ");
}
if ((i==0 && (j>=2 && j<n))){
printf("%c ",ch);
ch++;
}
if ((j==0) &&(i>=2 && i<n)){
printf("%d ",num);
num++;
}
if(((i==1) && (j>=1 && j<=n))||
((i==n) && (j>=1 && j<=n))||
((j==1) && (i>1 && i<n ))||
((j==n) && (i>1 && i<n ))){
printf("# ");
}
if((i>1 && i<n) && (j>1 && j<n)){
printf("%d ",Board[x][y]);
y++;
}
}
printf("\n");
}
return 0;
}