정수 유형 요소의 배열과 주어진 행 및 열 크기의 행렬 또는 2차원 배열이 제공되며 작업은 행렬의 각 행에 있는 배열의 요소 수를 계산하는 것입니다.
입력
int arr ={ 2, 4, 6} 및 int 행렬[row][col] ={ { 2, 4, 6 }, {3, 4, 6}, {6, 2, 1}}사전>출력
행 1의 배열 요소:3행 2의 배열 요소:2행 3의 배열 요소:2설명
우리는 2, 4, 6을 요소로 포함하는 배열을 가지고 있으며 이제 배열의 요소를 2, 4 및 6은 모두 행렬의 첫 번째 행에 있으므로 행 1의 요소 수는 3이고, 유사하게 행 2의 요소 수는 4와 6만 있고 행 3의 요소 수는 2이므로 2이고 행 3의 요소 수는 2입니다. 6개가 있습니다.입력
int arr ={ 1, 3} 및 int 행렬[row][col] ={ { 1, 4, 6 }, {3, 1, 6}, {6, 2, 4}}출력
행 1의 배열 요소:1행 2의 배열 요소:2행 3의 배열 요소:0설명
우리는 1과 3을 요소로 포함하는 배열을 가지고 있으며 이제 배열의 요소를 행렬의 요소와 일치시켜 행렬의 모든 행에서 2개의 요소가 발생하는지 확인합니다. 예를 들어 첫 번째 행에는 1만 존재합니다. 행렬의 행렬이므로 행 1의 요소 수는 1입니다. 마찬가지로 행 2의 요소 수는 1과 3이 모두 있으므로 2이고 1과 3 중 어느 것도 존재하지 않으므로 행 3의 요소 수는 0입니다.사전>아래 프로그램에서 사용된 접근 방식은 다음과 같습니다.
주어진 문제를 해결하기 위한 여러 가지 접근 방식, 즉 순진한 접근 방식과 효율적인 접근 방식이 있을 수 있습니다. 먼저 순진한 접근 방식을 살펴보겠습니다. .
-
정수 요소의 배열과 행 및 열 크기의 행렬 입력
-
배열의 크기를 계산하고 추가 처리를 위해 배열, 행렬 및 배열 크기를 함수에 전달합니다.
-
행렬 행에 있는 요소 수를 저장하기 위해 임시 변수 count를 사용합니다.
-
0부터 행렬의 행 크기까지 FOR 루프 시작
-
루프 내에서 0부터 배열 크기까지 FOR 시작
-
arr[k]
로 온도 설정 -
0부터 행렬의 열 크기까지 FOR 또 다른 루프 시작
-
루프 내부에서 IF temp =matrix[i][j]를 확인한 다음 카운트를 1 증가시킵니다.
-
모든 행이 변경된 후 새로 고치려면 count를 0으로 설정하십시오.
-
모든 행이 변경되기 전의 count 값을 출력합니다.
효율적인 접근
-
정수 요소의 배열과 행 및 열 크기의 행렬 입력
-
배열의 크기를 계산하고 추가 처리를 위해 배열, 행렬 및 배열 크기를 함수에 전달합니다.
-
0부터 행렬의 행 크기까지 FOR 루프 시작
-
unordered_map 유형의 변수 생성
-
0부터 행렬의 열 크기까지 FOR 또 다른 루프 시작
-
matrix[i][j]를 1로 사용하여 정렬되지 않은 맵을 설정
-
행렬 행에 있는 요소 수를 저장하기 위해 임시 변수 count를 사용합니다.
-
루프 내에서 0부터 배열 크기까지 FOR 시작
-
IF um[arr[j]]==1을 확인한 다음 카운트를 1 증가시킵니다.
-
모든 행이 변경되기 전의 count 값을 출력합니다.
예(순진한 접근 방식)
#include네임스페이스 std;#define row 3#define col 3void arr_matrix(int matrix[row][col], int arr[], int size){ int count =0; //행렬의 경우 for(int i=0; i |
출력
위의 코드를 실행하면 다음과 같은 출력이 생성됩니다 -
행 1의 배열 요소:3행 2의 배열 요소:2행 3의 배열 요소:2예(효율적인 접근)
#include이름 공간 std;#define row 3#define col 3void arr_matrix(int matrix[row][col], int arr[], int size){ for (int i =0; i <행; i++){ unordered_map 음; for (int j =0; j 출력
위의 코드를 실행하면 다음과 같은 출력이 생성됩니다 -
행 1의 배열 요소:3행 2의 배열 요소:2행 3의 배열 요소:2