>백엔드 개발 >C++ >주어진 행렬의 대각선 요소를 바꾸는 C 프로그램

주어진 행렬의 대각선 요소를 바꾸는 C 프로그램

王林
王林앞으로
2023-08-25 18:02:031538검색

주어진 행렬의 대각선 요소를 바꾸는 C 프로그램

Problem

주 대각선 요소를 하위 대각선 요소로 바꾸는 코드를 작성해야 합니다. 행렬의 크기는 런타임에 제공됩니다.

행렬 m과 n 값의 크기가 같지 않으면 주어진 행렬은 정사각형이 아니라고 인쇄합니다.

정방행렬의 주대각선 요소만 교체 가능하며, 부대각선 요소와도 교체 가능합니다.

해결책

주어진 행렬에서 대각선 요소를 바꾸는 C 프로그램을 작성하는 해결책은 다음과 같습니다. 주어진 행렬에서

대각선 요소

를 바꾸는 C 프로그램 - 라이브 데모

for (i=0;i<m;++i){
   a = ma[i][i];
   ma[i][i] = ma[i][m-i-1];
   ma[i][m-i-1] = a;
}

출력

위 프로그램이 실행되면 다음과 같은 결과가 생성됩니다. -

#include<stdio.h>
main (){
   int i,j,m,n,a;
   static int ma[10][10];
   printf ("Enter the order of the matrix m and n</p><p>");
   scanf ("%dx%d",&m,&n);
   if (m==n){
      printf ("Enter the co-efficients of the matrix</p><p>");
      for (i=0;i<m;++i){
         for (j=0;j<n;++j){
            scanf ("%d",&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>");
      }
      for (i=0;i<m;++i){
         a = ma[i][i];
         ma[i][i] = ma[i][m-i-1];
         ma[i][m-i-1] = a;
      }
      printf ("Matrix after changing the </p><p>");
      printf ("Main & secondary diagonal</p><p>");
      for (i=0;i<m;++i){
         for (j=0;j<n;++j){
            printf (" %d",ma[i][j]);
         }
         printf ("</p><p>");
      }
   }
   else
      printf ("The given order is not square matrix</p><p>");
}

위 내용은 주어진 행렬의 대각선 요소를 바꾸는 C 프로그램의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제