如何仅打印矩阵的特定值而忽略最外面的行和列
How to print only specific values of a matrix neglecting the outermost row and column
如何通过 1 忽略最外面的行和列来仅交换矩阵的特定值。
例如,
这是我的输入矩阵:
x x x x
x x x x
x x x x
x x x x
输出应该是
x x x x
x 1 1 x
x 1 1 x
x x x x
如果矩阵是 5 x 5 等等,输出应该不同。
尝试这样的事情
C代码
for(int i=0; i<n; i++) // here n is number of row
{
for(int j=0; j<n; j++) { // here n is number of column
if((i&&j) && (i!= n-1 && j!=n-1)){
a[i][j] = 1; //assign value 1
}
printf("%d ", a[i][j]); // here `a` your 2D matrix
}
printf("\n");
}
试试这个
int a[][] = new int [4][4];
int i,j;
int s = 0;
int len=a.length-1;
for(i= 0;i<a.length; i++)
for(j = 0; j<a[i].length; j++){
a[i][j] = (int)(Math.random()*10);
}
System.out.println("Original matrix\n");
for(i=0;i<a.length;i++){
for(j=0;j<a[i].length;j++)
System.out.print(a[i][j] + "\t");
System.out.println();
}
for(i=0;i<a.length;i++){
for(j=0;j<a[i].length;j++)
if(!((i==0)||(j==0)||(j==len)||(i==len))){
a[i][j]=1;
}
}
System.out.println("\nConverted matrix\n");
for(i=0;i<a.length;i++){
for(j=0;j<a[i].length;j++)
System.out.print(a[i][j] + "\t");
System.out.println();
}
输出是
Original matrix
8 2 8 9
6 7 6 0
1 8 1 7
5 2 1 7
Converted matrix
8 2 8 9
6 1 1 0
1 1 1 7
5 2 1 7
如何通过 1 忽略最外面的行和列来仅交换矩阵的特定值。
例如, 这是我的输入矩阵:
x x x x
x x x x
x x x x
x x x x
输出应该是
x x x x
x 1 1 x
x 1 1 x
x x x x
如果矩阵是 5 x 5 等等,输出应该不同。
尝试这样的事情
C代码
for(int i=0; i<n; i++) // here n is number of row
{
for(int j=0; j<n; j++) { // here n is number of column
if((i&&j) && (i!= n-1 && j!=n-1)){
a[i][j] = 1; //assign value 1
}
printf("%d ", a[i][j]); // here `a` your 2D matrix
}
printf("\n");
}
试试这个
int a[][] = new int [4][4];
int i,j;
int s = 0;
int len=a.length-1;
for(i= 0;i<a.length; i++)
for(j = 0; j<a[i].length; j++){
a[i][j] = (int)(Math.random()*10);
}
System.out.println("Original matrix\n");
for(i=0;i<a.length;i++){
for(j=0;j<a[i].length;j++)
System.out.print(a[i][j] + "\t");
System.out.println();
}
for(i=0;i<a.length;i++){
for(j=0;j<a[i].length;j++)
if(!((i==0)||(j==0)||(j==len)||(i==len))){
a[i][j]=1;
}
}
System.out.println("\nConverted matrix\n");
for(i=0;i<a.length;i++){
for(j=0;j<a[i].length;j++)
System.out.print(a[i][j] + "\t");
System.out.println();
}
输出是
Original matrix
8 2 8 9
6 7 6 0
1 8 1 7
5 2 1 7
Converted matrix
8 2 8 9
6 1 1 0
1 1 1 7
5 2 1 7