카테고리 없음

[c++]입력 항 계수, 변수 차수 받아서 그 항 출력하는 프로그램

기술1 2024. 3. 9. 13:48
반응형

풀이


#include <iostream>

using namespace std;

int main()
{
	int coef, expo_x, expo_y;
	cin >> coef >> expo_x >> expo_y;
	
	if (coef == 1)
		; //do nothing
	else if (coef == -1)
		cout << '-';
	else if (coef != 0)
		cout << coef;

	if (expo_x != 0)
	{
		cout << 'x';
		if (expo_x != 1)
			cout << '^' << expo_x;
	}

	if (expo_y != 0)
	{
		cout << 'y';
		if (expo_y != 1)
			cout << '^' << expo_y;
	}
	cout << endl;
	
	return 0;
}

위 코드를 작성할 때 어려웠던 점은 처음에는 pow() 함수를 이용해서 하려고 했던 것입니다. 하지만 문제의 요지는 제곱이 무엇이 나오는지 값을 출력하는 것이 아닌 x^3 이런 식으로 나오는 것을 원하기 때문에 pow()가 아닌 if를 통해 x , y, ^ 등을 변수로 넣어주어야 한다는 것으로 추론을 했습니다.

 

따라서 해당 부분들을 if문으로 했습니다.

 

조금 어려웠던 점은 +와 -가 1과 -1에서는  부호만 나오게 하는 것이었는데 막상 보면 이해가 가지만 처음에는 이걸 어떻게 해야하나 고민을 많이 했습니다. 저렇게 -1에서 -가 나오게 해주었으며 +기호는 출력하지 않아도 되지만 처음에는 ' ' 빈칸으로 해주었다가 빈칸이 거슬려서 저런식으로 아무것도 적어주지 않고 

 

주석으로 //do nothing이라는 표현을 해주어서 코드를 보는 사람이 헷갈리지 않도록 해주었습니다. 

 

반응형