컴공생의 다이어리
[c++] 2차 함수의 최대 값과 최소값 찾기 본문
문제
주어진 범위 (-30 ≤ 𝑥 ≤ 30, 𝑥는 정수)에서 2차 함수의 최대 값과 최소값을 찾는 프로그램을 작성하시오. 2 차 함수의 계수 a, b, c는 사용자로부터 입력된다. 이때 a는 0이 아니다.
코드
#include<iostream>
using namespace std;
double Max(double a, double b, double c){//최대값
double y; //y=f(x)
double max = c;//max를 c로 초기화(c는 y절편)
for (int x = -30; x <= 30; x++){//x range : -30<=x<=30
y = a * x * x + b * x + c;//y=f(x)
if (max <= y) max = y;
else continue;
}
return max;
}
double Min(double a, double b, double c){//최소값
double y;//y=f(x)
double min = c; //min을 c로 초기화(c는 y절편)
for (int x = -30; x <= 30; x++){//x range : -30<=x<=30
y = a * x * x + b * x + c;
if (y <= min) min = y;
else continue;
}
return min;
}
int main(){
double a,b,c;
cout<<"f(x)=ax^2+bx+c"<<endl;
cout<<"-------- 입력 --------"<<endl;
while(1){
cout<<"a : ";
cin>>a;
if(a!=0) break;
cout<<"오류 : a는 0이 아니어야 한다!"<<endl;
}
cout<<"b : ";
cin>>b;
cout<<"c : ";
cin>>c;
cout<<"----------------------"<<endl;
cout<<"MAX : "<<Max(a,b,c)<<endl;
cout<<"MIN : "<<Min(a,b,c)<<endl;
return 0;
}
출력결과
728x90
반응형
'Development > C & C++' 카테고리의 다른 글
[c++] 두 지점 A, B 사이에 위치할 수 있는 C (0) | 2021.02.14 |
---|---|
[c++] 입력받은 문자열에서의 특정 문자 빈도 수 (0) | 2021.02.13 |
[c++] 정보 추가, 삭제, 검색 및 정렬 프로그램 (0) | 2021.02.11 |
[c++] 교통 카드 잔액 (0) | 2021.02.10 |
[c++] 문자(별표, 다이아몬드) 찍기 (0) | 2021.02.09 |
Comments