Language/C++

(C++)배열의 최댓값,최솟값-max_element,min_element

doheun 2023. 2. 20. 17:49
반응형

배열 최댓값, 최솟값 구하기

max_element,min_element

*max_element(시작주소,끝주소)
*min_element(시작주소,끝주소)

헤더

#include<algorithm>

vector(1차원)

using namespace std;
const int sz = 10;
vector<int> v;

int main() {
    for (int i = 0; i < sz; i++) {
        v.push_back(i);
    }
    int max_n = *max_element(v.begin(), v.end());
    int min_n = *min_element(v.begin(), v.end());
    cout << max_n << '\n';
    cout << min_n << '\n';

    return 0;
}
//출력
9
0

vector(2차원)

각 행별로 최댓값 최솟값을 저장 후에 마지막에 저장된 값을 출력한다

using namespace std;
const int sz = 10;
vector<vector<int>> vv;

int main() {


    vector<int>v1 = {10,11,12,13,14,15,16,17,18,19};
    vector<int>v2={ 10,99,12,13,14,15,16,17,18,19 };
    vector<int>v3={ 10,11,12,13,14,15,1,17,18,19 };
    vv.push_back(v3);
    vv.push_back(v2);
    vv.push_back(v1);
    vv.push_back(v3);
    vv.push_back(v3);
    vv.push_back(v2);
    vv.push_back(v3);
    vv.push_back(v1);
    vv.push_back(v2);
    vv.push_back(v3);
    for (int i = 0; i < sz; i++) {
        for (int j = 0; j < sz; j++) {
            cout << vv[i][j] << ' ';
        }
        cout << '\n';
    }
    cout << '\n';
    int max_n = -1;
    int min_n = 987654321;
    for (int i = 0; i < sz; i++) {
        if (max_n < *max_element(&vv[i][0], &vv[i][0] + sz)) {
            max_n = *max_element(&vv[i][0], &vv[i][0] + sz);
        }
        if (min_n> *min_element(&vv[i][0], &vv[i][0] + sz)) {
            min_n = *min_element(&vv[i][0], &vv[i][0] + sz);
        }
    }
    cout << max_n << '\n';
    cout << min_n << '\n';

    return 0;
}
//출력
10 11 12 13 14 15 16 17 18 19 
10 11 12 13 14 15 1 17 18 19 
10 11 12 13 14 15 1 17 18 19 
10 99 12 13 14 15 16 17 18 19 
10 11 12 13 14 15 1 17 18 19 
10 11 12 13 14 15 16 17 18 19 
10 99 12 13 14 15 16 17 18 19 
10 11 12 13 14 15 1 17 18 19 

99
1

배열(1차원)

using namespace std;
const int sz = 10;
int a[10];

int main() {

    for (int i = 0; i < sz; i++) {
        a[i] = i;
    }

    int max_n = *max_element(a,a+sz);
    int min_n = *min_element(a, a + sz);
    cout << max_n << '\n';
    cout << min_n << '\n';

    return 0;
}
//출력
9
0

배열(2차원)

using namespace std;
const int sz = 10;

int aa[sz][sz];

int main() {

    for (int i = 0; i < sz; i++) {
        for (int j = 0; j < sz; j++) {
            aa[i][j] = i + j+10;
        }
    }


    int max_n = *max_element(&aa[0][0], &aa[0][0]+sz*sz);
    int min_n = *min_element(&aa[0][0], &aa[0][0] + sz * sz);
    cout << max_n << '\n';
    cout << min_n << '\n';

    return 0;
}
//출력
28
10
반응형

'Language > C++' 카테고리의 다른 글

(C++)조합  (0) 2023.02.22
(C++)순열  (0) 2023.02.21
(C++)배열 초기화-memset,fill  (0) 2023.02.08
(C++)문자열 관련 함수(substr,find,atoi,to_string,size,getline..)  (0) 2023.01.10
(C++)vector(동적배열) 정리 및 사용법  (0) 2023.01.10