c++编写一个矩阵转置的函数,矩阵的行数和和列数在程序中由用户输入。
时间: 2024-06-12 20:05:15 浏览: 114
#include <stdio.h>
void transpose(int matrix[][100], int rows, int cols);
int main()
{
int matrix[100][100];
int rows, cols;
printf("Enter the number of rows and columns of the matrix: ");
scanf("%d %d", &rows, &cols);
printf("Enter the matrix elements:\n");
for(int i=0; i<rows; i++)
{
for(int j=0; j<cols; j++)
{
scanf("%d", &matrix[i][j]);
}
}
printf("Original Matrix:\n");
for(int i=0; i<rows; i++)
{
for(int j=0; j<cols; j++)
{
printf("%d ", matrix[i][j]);
}
printf("\n");
}
transpose(matrix, rows, cols);
printf("Transposed Matrix:\n");
for(int i=0; i<cols; i++)
{
for(int j=0; j<rows; j++)
{
printf("%d ", matrix[i][j]);
}
printf("\n");
}
return 0;
}
void transpose(int matrix[][100], int rows, int cols)
{
int temp;
for(int i=0; i<rows; i++)
{
for(int j=i+1; j<cols; j++)
{
temp = matrix[i][j];
matrix[i][j] = matrix[j][i];
matrix[j][i] = temp;
}
}
}
阅读全文