행렬의 모든 행을 오름차순으로, 모든 열을 내림차순으로 정렬하는 코드를 작성하세요. 행렬의 크기와 요소는 런타임 시 사용자가 제공합니다.
C 프로그래밍 언어에서 행렬의 모든 행을 오름차순으로 정렬하고 모든 열을 내림차순으로 정렬하는 솔루션은 아래에 설명되어 있습니다.
행을 오름차순으로 정렬하는 데 사용되는 논리는 다음과 같습니다.
for (i=0;i<m;++i){ for (j=0;j<n;++j){ for (k=(j+1);k<n;++k){ if (ma[i][j] > ma[i][k]){ a = ma[i][j]; ma[i][j] = ma[i][k]; ma[i][k] = a; } } } }
For sorting by 열을 내림차순으로 정렬하는 논리는 다음과 같습니다 −
for (j=0;j<n;++j){ for (i=0;i<m;++i){ for (k=i+1;k<m;++k){ if (mb[i][j] < mb[k][j]){ a = mb[i][j]; mb[i][j] = mb[k][j]; mb[k][j] = a; } } } }
다음은 C 프로그램으로 행렬의 모든 행을 오름차순으로, 모든 열을 내림차순으로 정렬합니다 −
실시간 Demonstration
#include <stdio.h> void main(){ int i,j,k,a,m,n; static int ma[10][10],mb[10][10]; printf ("Enter the order of the matrix </p><p>"); scanf ("%d %d", &m,&n); printf ("Enter co-efficients of the matrix </p><p>"); for (i=0;i<m;++i){ for (j=0;j<n;++j){ scanf ("%d",&ma[i][j]); mb[i][j] = ma[i][j]; } } printf ("The given matrix is </p><p>"); for (i=0;i<m;++i){ for (j=0;j<n;++j){ printf (" %d",ma[i][j]); } printf ("</p><p>"); } printf ("After arranging rows in ascending order</p><p>"); for (i=0;i<m;++i){ for (j=0;j<n;++j){ for (k=(j+1);k<n;++k){ if (ma[i][j] > ma[i][k]){ a = ma[i][j]; ma[i][j] = ma[i][k]; ma[i][k] = a; } } } } for (i=0;i<m;++i){ for (j=0;j<n;++j){ printf (" %d",ma[i][j]); } printf ("</p><p>"); } printf ("After arranging the columns in descending order </p><p>"); for (j=0;j<n;++j){ for (i=0;i<m;++i){ for (k=i+1;k<m;++k){ if (mb[i][j] < mb[k][j]){ a = mb[i][j]; mb[i][j] = mb[k][j]; mb[k][j] = a; } } } } for (i=0;i<m;++i){ for (j=0;j<n;++j){ printf (" %d",mb[i][j]); } printf ("</p><p>"); } }
위의 경우 프로그램이 실행되면 다음과 같은 결과가 나옵니다 −
Enter the order of the matrix 3 4 Enter co-efficient of the matrix 1 2 3 4 1 2 3 4 5 1 2 3 The given matrix is 1 2 3 4 1 2 3 4 5 1 2 3 After arranging rows in ascending order 1 2 3 4 1 2 3 4 1 2 3 5 After arranging the columns in descending order 5 2 3 4 1 2 3 4 1 1 2 3
위 내용은 행렬의 모든 열과 행을 정렬하는 C 프로그램의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!