> 백엔드 개발 > C++ > 본문

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

王林
풀어 주다: 2023-08-25 18:02:03
앞으로
1488명이 탐색했습니다.

주어진 행렬의 대각선 요소를 바꾸는 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으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿