새로새록

[c++]10. 두 벡터의 곱 max min 본문

소프트웨어융합/경희대 c++ 과제

[c++]10. 두 벡터의 곱 max min

류지나 2020. 7. 18. 00:21

아래의 조건을 만족하는 프로그램을 작성하라
1. 크기가 10인 vector1과 vector2를 만든다.
2 .vector1의 범위는 0~10이고 vector2의 범위는 0~20이며 난수로 채워진다.
3. vector1에 있는 어떠한 수와 vector2의 있는 어떠한 수를 곱 했을 때 가장 큰 경우(곱의 최댓값)과 최솟값을 찾는다.
4. 이 때 vector의 데이터에 접근하기 위해서 iterator만을 사용한다.

 

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

int main() {
	vector<int> vector1;
	vector<int> vector2;
	srand(time(NULL));
	for (int i = 0; i < 10; i++)
		vector1.push_back(rand() % 11);

	for (int i = 0; i < 10; i++)
		vector2.push_back(rand() % 21);

	vector<int>::iterator iter1_b = begin(vector1);
	vector<int>::iterator iter1_e = end(vector1);
	vector<int>::iterator iter2_b = begin(vector2);
	vector<int>::iterator iter2_e = end(vector2);

	cout << "<vector 1>" << endl;
	int max1 = 0, min1 = 10;
	for (auto iter = iter1_b; iter != iter1_e; iter++) {
		cout << *iter << "  ";
		if (*iter > max1) { max1 = *iter; }
		else if (*iter < min1) { min1 = *iter; }
	}
	cout << endl;
	cout << "<vector 2>" << endl;
	int max2 = 0, min2 = 20;
	for (auto iter = iter2_b; iter != iter2_e; iter++) {
		cout << *iter << "  ";
		if (*iter > max2) { max2 = *iter; }
		else if (*iter < min2) { min2 = *iter; }
	}
	cout << endl << endl;


	cout << "최댓값 = " << max1*max2 << endl;
	cout << "최솟값 = " << min1*min2 << endl;
}