[英]a program for transposing a matrix but in this program in printing result it has a bug
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main(){
int m,n,i,j,t;
printf("in order enter line and column of matrix :");
scanf("%d%d",&n,&m);
int a[n][m],b[m][n];
for(i=0;i<n;i++){
for(j=0;j<m;j++){
printf("a[%d][%d]= ",i+1,j+1);
scanf("%d",&a[i][j]);
}
}
printf("first matrix:\n");
for(i=0;i<n;i++){
for(j=0;j<m;j++){
printf("%d ",a[i][j]);
}
printf("\n\n");
}
for(i=0;i<n;i++){
for(j=0;j<m;j++){
b[j][i]=a[i][j];
}
}
printf("transposed matrix:\n");
for(i=0;i<m;i++){
for(j=0;j<n;j++){
printf("%d ",b[j][i]);
}
printf("\n\n");
}
}
一個用於轉置矩陣的程序,但在這個程序中打印結果它有一個錯誤,例如,這個用於方形矩陣的程序打印第一個矩陣
您已經交換了行索引和列索引。 打印b[i][j]
工作正常。 即使是非方陣。
printf("transposed matrix:\n");
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
printf("%d ",b[i][j]);
}
printf("\n\n");
}
這是一個例子:
a[1][1]= 1
a[1][2]= 2
a[2][1]= 3
a[2][2]= 4
a[3][1]= 5
a[3][2]= 6
first matrix:
1 2
3 4
5 6
transposed matrix:
1 3 5
2 4 6
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.