목차
Ways to Find Solution
무차별 대입 방법
효율적인 방법
예제
Output
위의 코드 설명
결론
백엔드 개발 C++ C++로 작성되었으며 주어진 합을 사용하여 행렬에서 숫자 쌍을 찾습니다.

C++로 작성되었으며 주어진 합을 사용하여 행렬에서 숫자 쌍을 찾습니다.

Sep 09, 2023 pm 06:05 PM
행렬 c 프로그래밍 그리고

C++로 작성되었으며 주어진 합을 사용하여 행렬에서 숫자 쌍을 찾습니다.

이 기사에서는 주어진 행렬에서 주어진 합과 쌍을 찾는 프로그램에 대해 논의할 것입니다. 예를 들어 -

Input : matrix[n][m] = { 
   { 4, 6, 4, 65 }, 
   { 56, 1, 12, 32 },
   { 4, 5, 6, 44 },
   { 13, 9, 11, 25 } 
}, SUM = 20

Output : Pair exists.
Explanation : Sum = 20 is equal to the sum of numbers 9 and 11 which exists in the matrix.

Input : matrix[n][m] = { 
   { 5, 7, 3, 45 },  
   { 63, 5, 3, 7 },  
   { 11, 6, 9, 5 },
   { 8, 6, 14, 15 } 
}, SUM = 13
Output : Pair does not exist.
Explanation : No pair exists in the matrix whose sum is equal to 7.
로그인 후 복사

Ways to Find Solution

이제 위 문제에 대한 해결책을 찾는 두 가지 방법을 설명하겠습니다.

무차별 대입 방법

주어진 행렬의 각 쌍을 고려하여 쌍의 합이 주어진 SUM과 같은지 확인하고, 그렇다면 "쌍이 아닙니다"를 인쇄하고, 그렇지 않으면 "쌍이 존재하지 않습니다"를 인쇄합니다. . 이 방법을 적용하는 것은 매우 간단하지만 시간 복잡도가 O((N*M)2)로 증가합니다.

효율적인 방법

이 프로그램은 해시를 사용하여 모든 행렬 요소를 저장한 다음 행렬을 반복하여 [SUM & (색인 요소)]의 차이가 같은지 확인할 수 있습니다. 그렇다면 "Exist"를 인쇄하고 프로그램을 종료하십시오. NO인 경우 인쇄를 순회한 후 "존재하지 않습니다".

예제

#include <bits/stdc++.h>
using namespace std;

#define n 4
#define m 4

int main() {
   int matrix[n][m] = { 
      { 5,7, 3,45 },
      { 63, 5, 3, 7 },
      { 11, 6, 9, 5 },
      { 8, 6, 14, 15 } 
   };

   int sum = 7;
   unordered_set<int> hash;

   for (int i = 0; i < n; i++) {
      for (int j = 0; j < m; j++) {
         if (hash.find(sum - matrix[i][j]) != hash.end()) {
            cout << "Pair exists." << endl;
            return 0;
         } else {
            hash.insert(matrix[i][j]);
         }
      }
   }

   cout << "Pair does not exist." << endl;
   return 0;
}
로그인 후 복사

Output

Pair does not exist.
로그인 후 복사

위의 코드 설명

  • 2차원 배열을 선언하고 그 안에 요소를 저장합니다.
  • 배열을 탐색하여 if (sum - Matrix[i][j]) != hash.end()를 찾습니다.
  • 조건이 충족되면 "Pair Contains"를 인쇄하고 주 함수에서 돌아갑니다.
  • 그렇지 않으면 배열을 계속 탐색하고 마지막으로 "Pair does notify."를 인쇄합니다.

결론

이 기사에서는 행렬에서 주어진 합을 사용하여 쌍 또는 2D 배열을 찾는 방법에 대해 논의했으며 이 문제를 해결하는 무차별 대입 방법과 효율적인 방법에 대해 논의했습니다. 우리는 이 문제를 해결하기 위해 C++ 프로그램을 논의했습니다. 그러나 C, Java, Python 등과 같은 다른 언어로 이 프로그램을 작성할 수 있습니다. 이 기사가 도움이 되었기를 바랍니다.

위 내용은 C++로 작성되었으며 주어진 합을 사용하여 행렬에서 숫자 쌍을 찾습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 채팅 명령 및 사용 방법
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

인공지능의 역사와 매트릭스 탐구: 인공지능 튜토리얼(2) 인공지능의 역사와 매트릭스 탐구: 인공지능 튜토리얼(2) Nov 20, 2023 pm 05:25 PM

이 시리즈의 첫 번째 기사에서는 인공 지능, 머신 러닝, 딥 러닝, 데이터 과학 등의 연관성과 차이점에 대해 논의했습니다. 또한 전체 시리즈에서 사용할 프로그래밍 언어, 도구 등에 대해 몇 가지 어려운 선택을 했습니다. 마지막으로 약간의 행렬 지식도 소개했습니다. 이번 글에서는 인공지능의 핵심인 매트릭스에 대해 심도있게 논의해보겠습니다. 그런데 그 전에 먼저 인공지능의 역사를 이해해 볼까요? 왜 인공지능의 역사를 이해해야 할까요? 역사상 수많은 AI 붐이 있었지만, AI의 잠재력에 대한 큰 기대는 실현되지 못한 경우가 많았다. 인공지능의 역사를 이해하면 이 인공지능의 물결이 기적을 일으킬지 아니면 터질 또 다른 거품일지 알 수 있습니다. 우리를

행렬의 오른쪽 대각선 요소의 합을 계산하는 Python 프로그램 행렬의 오른쪽 대각선 요소의 합을 계산하는 Python 프로그램 Aug 19, 2023 am 11:29 AM

널리 사용되는 범용 프로그래밍 언어는 Python입니다. 데스크톱 애플리케이션, 웹 개발, 기계 학습 등 다양한 산업에서 사용됩니다. 다행스럽게도 Python에는 초보자에게 적합한 간단하고 이해하기 쉬운 구문이 있습니다. 이 기사에서는 Python을 사용하여 행렬의 오른쪽 대각선의 합을 계산합니다. 매트릭스란 무엇입니까? 수학에서는 직사각형 배열이나 행렬을 사용하여 수학적 대상이나 그 속성을 설명합니다. 이는 행과 열로 배열된 숫자, 기호 또는 표현식을 포함하는 직사각형 배열 또는 테이블입니다. 예를 들어 -234512367574 따라서 3행 4열의 행렬이며 3*4 행렬로 표현됩니다. 이제 행렬에는 두 개의 대각선, 즉 주 대각선과 보조 대각선이 있습니다.

R55600(R55600u 및 5600h 포함)과 호환되는 ASUS 마더보드 옵션 R55600(R55600u 및 5600h 포함)과 호환되는 ASUS 마더보드 옵션 Jan 02, 2024 pm 05:32 PM

R55600과 어떤 ASUS 마더보드를 결합해야 합니까? ASUS ROGStrixB550-FGaming 마더보드는 탁월한 선택입니다. Ryzen55600X 프로세서와 완벽하게 호환되며 뛰어난 성능과 기능을 제공합니다. 이 마더보드는 안정적인 전원 공급 시스템을 갖추고 있으며 오버클러킹을 지원할 수 있으며 일상적인 사용과 게임 요구 사항을 충족할 수 있는 풍부한 확장 슬롯과 포트를 제공합니다. ROGStrixB550-FGaming은 또한 고품질 오디오 솔루션, 빠른 네트워크 연결 및 안정적인 열 방출 설계를 갖추고 있어 시스템이 효율적이고 안정적으로 유지되도록 보장합니다. 또한, 이 마더보드는 화려한 ROG 스타일을 채택하고 화려한 RGB 조명 효과를 탑재하여 컴퓨터에 시각적 즐거움을 더해줍니다. 전체적으로 ASUS ROGStri

Python에서 numpy를 사용하여 행렬 또는 ndArray의 행렬식을 계산하는 방법은 무엇입니까? Python에서 numpy를 사용하여 행렬 또는 ndArray의 행렬식을 계산하는 방법은 무엇입니까? Aug 18, 2023 pm 11:57 PM

이번 글에서는 파이썬에서 numpy 라이브러리를 사용하여 행렬의 행렬식을 계산하는 방법을 알아 보겠습니다. 행렬식의 행렬식은 행렬을 간결한 형태로 표현할 수 있는 스칼라 값이다. 선형대수학에서 유용한 양이며 물리학, 공학, 컴퓨터 과학을 포함한 다양한 분야에서 수많은 응용이 가능합니다. 이 글에서는 먼저 행렬식의 정의와 속성에 대해 논의하겠습니다. 그런 다음 numpy를 사용하여 행렬의 행렬식을 계산하는 방법을 배우고 몇 가지 예를 통해 실제로 어떻게 사용되는지 살펴보겠습니다. 행렬식의 행렬식은 속성을 설명하는 데 사용할 수 있는 스칼라 값입니다.

Celeron g4900과 i36100 중 어느 것이 더 낫습니까? (Celeron g4900과 i34170 중 어느 것이 더 낫습니까?) Celeron g4900과 i36100 중 어느 것이 더 낫습니까? (Celeron g4900과 i34170 중 어느 것이 더 낫습니까?) Jan 01, 2024 pm 06:01 PM

Celeron g4900과 i36100 중 어느 것이 더 낫습니까? 두 프로세서 Celeron G4900과 I36100의 경우 I36100의 성능이 우수하다는 것은 의심의 여지가 없습니다. 셀러론 프로세서는 일반적으로 저가형 프로세서로 간주되며 주로 저가형 노트북에 사용됩니다. I3 프로세서는 주로 고급 프로세서에 사용되며 성능이 매우 좋습니다. 게임을 하든, 동영상을 보든 I3 프로세서를 사용해도 아무런 지연이 발생하지 않습니다. 따라서 가능하다면 온라인 세계의 즐거움을 누릴 수 있도록 특히 데스크탑 컴퓨터용 Intel I 시리즈 프로세서를 구입해 보십시오. Celeron G4900T의 성능은 어떻습니까? 성능 측면에서 Pentium G4900T는 이전 버전과 비교하여 성능이 좋습니다.

C++를 사용하여 N번째 제곱수가 아닌 숫자를 찾는 코드를 작성하세요. C++를 사용하여 N번째 제곱수가 아닌 숫자를 찾는 코드를 작성하세요. Aug 30, 2023 pm 10:41 PM

우리 모두는 2, 3, 5, 7, 8 등과 같이 어떤 숫자의 제곱도 아닌 숫자를 알고 있습니다. N개의 정사각형이 아닌 숫자가 있으며 모든 숫자를 아는 것은 불가능합니다. 그래서 이 글에서는 제곱이 없는 숫자나 제곱이 아닌 숫자에 대한 모든 것과 C++에서 N번째 제곱이 아닌 숫자를 찾는 방법을 설명할 것입니다. N번째 비제곱수 어떤 숫자가 정수의 제곱인 경우, 그 숫자를 완전제곱수라고 합니다. 완전제곱수의 몇 가지 예는 다음과 같습니다. -1issquareof14issquareof29issquareof316issquareof425issquareof5 숫자가 정수의 제곱이 아닌 경우 해당 숫자를 제곱이 아닌 숫자라고 합니다. 예를 들어, 처음 15개의 정사각형이 아닌 숫자는 -2,3,5,6입니다.

다차원 배열을 사용하여 두 행렬을 곱하는 Python 프로그램 다차원 배열을 사용하여 두 행렬을 곱하는 Python 프로그램 Sep 11, 2023 pm 05:09 PM

행렬은 행과 열로 배열된 숫자의 집합입니다. m행과 n열로 구성된 행렬을 mXn 행렬이라고 하며, m과 n을 차원이라고 합니다. 행렬은 목록이나 NumPy 배열을 사용하여 Python에서 만든 2차원 배열입니다. 일반적으로 행렬 곱셈은 첫 번째 행렬의 행과 두 번째 행렬의 열을 곱하여 수행할 수 있습니다. 여기서 첫 번째 행렬의 열 개수는 두 번째 행렬의 행 개수와 같아야 합니다. 입력 및 출력 시나리오 두 개의 행렬 A와 B가 있다고 가정합니다. 이 두 행렬의 차원은 각각 2X3과 3X2입니다. 곱셈 후 결과 행렬은 2개의 행과 1개의 열을 갖게 됩니다. [b1,b2][a1,a2,a3]*[b3,b4]=[a1*b1+a2*b2+a3*a3][a4,a5,a6][b5,b6][a4*b2+a

두 행렬의 동등성을 비교하는 C 프로그램 두 행렬의 동등성을 비교하는 C 프로그램 Aug 31, 2023 pm 01:13 PM

사용자는 두 행렬의 순서뿐만 아니라 두 행렬의 요소도 입력해야 합니다. 그런 다음 두 행렬을 비교합니다. 행렬 요소와 크기가 모두 같으면 두 행렬은 같습니다. 행렬의 크기는 동일하지만 요소가 동일하지 않은 경우 행렬은 비교할 수 있지만 동일하지 않은 것으로 표시됩니다. 크기와 요소가 일치하지 않으면 표시 행렬을 비교할 수 없습니다. 다음 프로그램은 두 행렬이 같은지 비교하는 데 사용되는 C 프로그램입니다. #include<stdio.h>#include<conio.h>main(){ intA[10][10],B[10][10] ; 안에

See all articles