일부 응용 프로그램에서는 2차원 배열이나 행렬을 사용하면 큰 이점을 얻을 수 있습니다. 숫자는 행렬의 행과 열에 저장됩니다. 다차원 배열을 사용하여 우리는 2D 행렬은 C++에서도 정의할 수 있습니다. 이번 포스팅에서는 C++ 사용법을 배워보겠습니다. 주어진 행렬의 법선과 자취를 결정합니다.
행렬의 전체 요소 수의 제곱근을 라고 합니다. 정상. 추적은 주 대각선을 구성하는 모든 구성 요소로 구성됩니다. 우리를 보자 C++ 코드에서 알고리즘 표현을 봅니다.
$begin{bmatrix} 8 & 5 & 3 개행 문자 6 & 7& 1 개행 2 & 4 & 9 개행 문자 끝{bmatrix},$
주 대각선에 있는 모든 요소의 합: (8 + 7 + 9) = 24, 이는 주어진 행렬의 자취입니다
이전 예에서는 3 x 3 행렬이 사용되었으며 결과는 행렬의 합입니다. 주대각선의 요소 수입니다. 행렬의 흔적은 합에서 찾을 수 있습니다. 우리를 보자 알고리즘을 보면 이해하는데 도움이 됩니다.
$begin{bmatrix} 8 & 5 & 3 개행 문자 6 & 7& 1 개행 2 & 4 & 9 개행 문자 끝{bmatrix},$
모든 요소의 합: (8 + 5 + 3 + 6 + 7 + 1 + 2 + 4 + 9) = 45
정규: (모든 원소의 합의 제곱근) = √45 = 6.708
이전 예에서는 3 x 3 행렬이 사용되었습니다. 먼저 모든 항목의 합계를 계산합니다. 제곱근을 찾기 전에. 이해를 돕기 위해 알고리즘을 살펴보겠습니다.
정규 연산과 추적 연산은 행렬에 속합니다. 이 두 가지 프로세스에는 정사각형 행렬, 이것이 우리에게 필요한 것입니다(왜냐하면 추적 정사각형이 필요하기 때문입니다). 흔적의 합은 법선은 행렬의 주대각선에 포함된 요소입니다. 행렬에 포함된 총 요소 수의 제곱근입니다. C++에서 행렬은 다음을 수행할 수 있습니다. 2차원 배열을 사용하여 표시합니다. 여기서는 5개의 행과 5개의 열로 구성된 두 개의 행렬을 선택했습니다. 예(총 25개 요소) 루프 문을 통해 행렬에 액세스해야 합니다. 그리고 인덱스 조작. 일반적인 작업을 수행하려면 두 개의 중첩 루프가 필요합니다. 계산할 때 각 요소를 반복해야 합니다. 이 프로그램의 복잡도는 O(n2)입니다. 추적에는 주 대각선만 필요하므로 행 및 열 인덱스는 다음과 같습니다. 동일한. 따라서 for 루프만 필요합니다. O(n) 시간으로 결정됩니다.
위 내용은 주어진 행렬의 트레이스와 법선을 찾는 C++ 프로그램의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!