1. 문제

 

9. STL의 vector 클래스를 이용하는 간단한 프로그램을 작성해보자. vector 객체를 생성하고, 키보드로부터 정수를 입력받을 때마다 정수를 벡터에 삽입하고 지금까지 입력된 수와 평균을 출력하는 프로그램을 작성하라. 0을 입력하면 프로그램이 종료한다.

 

2. 결과

 

 

3. 코드

#include <iostream>
#include <vector>
using namespace std;

int main() {
	vector<int> v;
	int n;
	double avg;

	while(1) {
		cout << "정수를 입력하세요(0을 입력하면 종료)>>";
		cin >> n;
		v.push_back(n);
		if( n == 0) break;
		
		int sum=0;
		for(int i=0; i<v.size(); i++) {
			cout << v.at(i) << " ";
			sum += v.at(i);
		}
		
		avg = (double)sum / v.size();
		cout << endl << "평균 = " << avg << endl;
	}
}

 

 

4. 설명

 

 

push_back(n)으로 n을 뒤로 push(삽입) 합니다.

 

at(i)로 인덱스 i번 째의 수를 가져옵니다.

 

평균 avg를 구할 때는 소숫점 아래 부분까지 구하므로 (double)형으로 형변환을 해준 후 계산한다.

 

+ Recent posts