(C++)배열의

배열의 최대값과 최소값 찾기

max_element, min_element

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

헤더

#include<algorithm>

벡터(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

벡터(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

어레이(1D)

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

배열(2D)

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