-
명품 C++ 10장 9번C++ 2018. 11. 17. 02:23
9. STL의 vector 클래스를 이용하는 간단한 프로그램을 작성해보자. vector 객체를 생성하고, 키보드로부터 정수를 입력받을 때마다 정수를 벡터에 삽입하고 지금까지 입력된 수와 평균을 출력하는 프로그램을 작성하라. 0을 입력하면 프로그램이 종료한다.
소스코드
#include <iostream>#include <vector>using namespace std;int main() {vector<int> v;for (;;) {int n;int sum = 0;double ave;cout << "정수를 입력하세요(0을 입력하면 종료)>>";cin >> n;if (n == 0) break; // 0을 입력 받으면 프로그램 종료v.push_back(n); // 입력 받은 정수를 v객체에 삽입for (int i = 0; i < v.size(); ++i) {sum += v[i]; // 평균을 구하기 위한 합 누적cout << v[i] << ' '; // v객체 원소 전부 출력}cout << endl;ave = (double)sum / (double)v.size(); // 평균 구하기cout << "평균 = " << ave<<endl;}}실행결과
vector는 가변 길이 배열을 구현한 제네릭 클래스입니다. 스스로 내부 크기를 조절하기 때문에, 크기에 대해 고민할 필요가 없습니다.
vector 클래스를 사용하고자 하면 다음과 같이 헤더파일을 include 해야합니다 #include <vector>
정수만 다르는 벡터이므로 iterator를 사용할 필요는 없습니다.
'C++' 카테고리의 다른 글
명품 C++ 10장 11번 (0) 2018.11.17 명품 C++ 10장 10번 (0) 2018.11.17 명품 C++ 10장 8번 (0) 2018.11.17 명품 C++ 10장 7번 (0) 2018.11.17 명품 C++ 10장 6번 (0) 2018.11.17