【发布时间】:2015-02-19 11:05:04
【问题描述】:
我编写了一个代码来创建一个矩阵并以升序形式对其进行排序。 (行)
我想按照我在代码中给出的 ex. 中的内容执行操作,但我不知道如何操作。
例如。如果我输入“r”作为输入; 像这样输入的矩阵;
3 4 5
9 2 8
6 4 8
应该以那种形式出现;
3 4 5
2 8 9
4 6 8
屏幕上的输出应该是;
4
8
6
当我们取行的中位数时。
并且,如果我将输入值输入为“c”(用于列排序和中位数)
3 4 5
9 2 8
6 4 8
应该将自身重新排序为;
3 2 5
6 4 8
9 4 8
并且中值应该显示为;
6 4 8
这是我的完整代码;
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#define n 3
int main()
{
int arr[n][n],min,i,j,tmp,y,k,w,z=0,q=0;
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
printf("Enter number: ");
scanf("%d",&arr[i][j]);
}
}
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
z = j;
min = arr[i][j];
for (k = j +1 ; k < n; k++)
{
if (arr[i][k] < min)
{
min = arr[i][k];
z = k;
}
}
tmp=arr[i][j];
arr[i][j]=min;
arr[i][z]=tmp;
}
}
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
printf("%d ",arr[i][j]);
printf("\n");
}
getch();
}
【问题讨论】: