Computer >> 컴퓨터 >  >> 프로그래밍 >> C++

C++로 한 변수 선형 방정식 풀기: 완벽 가이드

한 변수 선형 방정식이란?

한 변수를 포함하는 모든 선형 방정식은 aX + b = cX + d 형태로 나타낼 수 있습니다. 여기서 a, b, c, d의 값이 주어졌을 때, 미지수 X의 값을 구하는 것이 목표입니다.

예를 들어 5X + 3 = 4X + 9라는 방정식이 주어지면, 양변을 정리하여 X = 6이라는 해를 구할 수 있습니다. 이러한 계산 과정을 C++ 프로그램으로 자동화할 수 있습니다.

C++ 구현 예제

다음은 한 변수 선형 방정식을 풀는 C++ 프로그램입니다.

#include<iostream>
using namespace std;
int main() {
    float a, b, c, d, X;
    cout<<"The form of the linear equation in one variable is: aX + b = cX + d"<<endl;
    cout<<"Enter the values of a, b, c, d : "<<endl;
    cin>>a>>b>>c>>d;
    cout<<"The equation is "<<a<<"X + "<<b<<" = "<<c<<"X + "<<d<<endl;

    if(a==c && b==d)
    cout<<"There are infinite solutions possible for this equation"<<endl;
    else if(a==c)
    cout<<"This is a wrong equation"<<endl;
    else {
        X = (d-b)/(a-c);
        cout<<"The value of X = "<< X <<endl;
    }
}

실행 결과

위 프로그램을 실행하면 다음과 같은 결과가 출력됩니다.

The form of the linear equation in one variable is: aX + b = cX + d
Enter the values of a, b, c, d :
The equation is 5X + 3 = 4X + 9
The value of X = 6

코드 상세 설명

1. 입력 및 방정식 출력

프로그램이 시작되면 먼저 사용자로부터 a, b, c, d 네 개의 값을 입력받습니다. 그런 다음 입력된 값으로 구성된 방정식을 화면에 출력합니다.

cout<<"The form of the linear equation in one variable is: aX + b = cX + d"<<endl;

cout<<"Enter the values of a, b, c, d : "<<endl;
cin>>a>>b>>c>>d;

cout<<"The equation is "<<a<<"X + "<<b<<" = "<<c<<"X + "<<d<<endl;

2. 조건 판단 및 해 계산

입력된 값에 따라 세 가지 경우로 나뉩니다.

  • a == c 이고 b == d인 경우: 양변이 완전히 동일하므로 이 방정식은 무수히 많은 해를 가집니다. 어떤 X 값을 대입해도 등식이 성립하기 때문입니다.
  • a == c 이지만 b != d인 경우: 양변에서 X항이 소거되어 남는 상수항이 서로 다르므로, 이 방정식은 성립하지 않는 잘못된 방정식입니다.
  • 그 외의 경우: 방정식을 X에 대해 정리하면 X = (d − b) / (a − c)가 되며, 이 공식으로 유일한 해를 계산하여 출력합니다.
if(a==c && b==d)
cout<<"There are infinite solutions possible for this equation"<<endl;
else if(a==c)
cout<<"This is a wrong equation"<<endl;
else {
    X = (d-b)/(a-c);
    cout<<"The value of X = "<< X <<endl;
}

마무리

이 프로그램은 단순한 산술 연산만으로 선형 방정식을 해결하지만, 조건문을 활용해 특수한 경우(무한 해, 해 없음)까지 처리한다는 점에서 실용적인 예제입니다. 실제 프로젝트에서는 사용자 입력 검증이나 부동소수점 오차 처리 등을 추가하면 더 견고한 프로그램을 만들 수 있습니다.