행렬이 주어지고 행렬의 두 행에 있는 요소의 합 사이의 가장 큰 차이를 찾는 것이 작업입니다. i개의 행과 j개의 열이 있는 행렬 M[i,j]가 있다고 가정합니다. 행을 R0으로 설정합니다. Ri-1로 . 차이는 (Ry 요소의 합)을 빼서 계산됩니다. ) - (Rx 요소의 합 ), 여기서 x 이제 예제를 사용하여 무엇을 해야 하는지 이해합시다 -
입력
출력
설명 − 여기서 Row 2의 원소의 합은 최대값이 14이고 Row 1의 원소의 합이 최소값인 2입니다. 따라서 최대 차이는 14-2=12입니다.
입력
출력
설명 − 여기에서 Row 4의 요소 합은 최대값인 10이고 Row 2의 요소 합이 최소값인 5입니다. 따라서 최대 차이는 10-5=10입니다.
행렬의 행과 열 수를 입력하여 최소 2개의 행을 갖도록 합니다.
rowmaxd() 함수에서 입력 행렬을 전달하고 행 개수와 열 개수를 전달하고 행 합계의 최대 차이를 반환합니다.
여기에서 먼저 M[row][col] 행렬의 각 행 요소의 합을 RSum[i]라는 배열에 저장합니다. RSum[row]의 길이는 M[row][col]의 행 수에 따라 다릅니다.
그런 다음 MD를 RSum[1]-RSum[0] 간의 최대 차이로 가정합니다. 여기서 RSum[0]은 0행의 모든 요소의 합이고 RSums[1]은 1행의 모든 요소의 합입니다.
또한 RSum[0]이 RSum[row]에서 가장 작다고 가정하고 MIN 변수에 저장합니다.
0에서 i까지의 for 루프에서 각 RSum[row]를 순회하고 RSum[i]-MIN>MD 간의 차이를 비교합니다. 그렇다면 MD를 업데이트하십시오. 그렇지 않으면 RSum[row]
위의 코드를 실행하면 다음과 같은 결과를 얻을 수 있습니다 -최대 차이:12
최대 차이:5
아래 프로그램에서 사용하는 접근 방식은 다음과 같습니다.
예시
#include
출력
행렬의 두 행에 있는 요소 합계의 최대 차이:5