C++ 자료구조론(이석호)

[C++ Fundamentals of Data Structures/C++ 자료구조론(이석호)] 1.4 C++의 기초 연습문제

ShuYan 2023. 8. 12. 01:39

1.

#include <iostream>
using namespace std;

int DivZero(int a, int b, int c) {
	if (a < 0 && b < 0 && c < 0)
		throw 1;
	else if (a == 0 && b == 0 && c == 0)
		throw 2;
	return a + b * c + b / c;
}

int main() {
	try { cout << DivZero(-7, -3, -2) << endl; }
	catch (int x) {
		if (x == 1)
			cout << "a, b, c are all less then 0" << endl;
		else if (x == 2)
			cout << "a, b, c are all 0" << endl;
	}

	return 0;

}

* DivZero(0, 0, 0) => a, b, c are all 0 출력

* DivZero(음수, 음수, 음수) => a, b, c are all less then 0 출력

 

 

 

2.

#include <iostream>
using namespace std;

int Sum(int *arr, int n) {
	if (n < 0)
		throw 1;
	int sum = 0;
	for (int i = 0; i < n ; i++)
		sum += arr[i];
	return sum;
}


int main() {
	int* arr;
	int n;
	int len;

	cout << "배열의 크기를 입력하세요 : ";
	cin >> len;

	arr = new int[len]; //새로운 정수 배열 선언

	for (int i = 0; i < len; i++)
		arr[i] = i + 1; //arr의 배열에 len 길이 만큼 정수 넣음

	cout << "n의 값을 입력하세요 : ";
	cin >> n;

	try { cout << "합계 : " << Sum(arr, n) << endl; }
	catch (int x) {
		cout << "n의 값은 0보다 커야합니다." << endl;
		return 1;
	}
	return 0;

}

 

// 출력 결과 값

 

* 참고 : https://jaimemin.tistory.com/125