분류 | 게시판 |
베스트 |
|
유머 |
|
이야기 |
|
이슈 |
|
생활 |
|
취미 |
|
학술 |
|
방송연예 |
|
방송프로그램 |
|
디지털 |
|
스포츠 |
|
야구팀 |
|
게임1 |
|
게임2 |
|
기타 |
|
운영 |
|
임시게시판 |
|
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
double f(double x);
int main(void)
{
double x1, x2, x3, dx, e, Xmax;
int n;
printf("초기값x1 = ");
scanf("%lf", &x1);
printf("최대값Xmax= ");
scanf("%lf", &Xmax);
printf("증가값dx= ");
scanf("%lf", &dx);
printf("오차값e= ");
scanf("%lf", &e);
while (x1< Xmax)
{
x2 = x1 + dx;
if (f(x1)*f(x2) > 0)
x1 = x2;
else if (f(x1)*f(x2) == 0)
{
printf("해= %lf\n", x2);
}
else
{
while (fabs(x2 - x1) > e)
{
for (n=1; n<=20; n++)
{
x3 = (x1 + x2)/2;
if (f(x1)*f(x3) > 0)
x1 = x3;
else if (f(x1)*f(x3) == 0)
{
printf("해= %lf\n", x3);
}
else if (f(x1)*f(x3)<0)
x2 = x3;
}
}
printf("해= %lf\n", x3);
}
x1 = x2;
if(x2 > Xmax)
break;
}
system("pause");
}
double f(double x1)
{
return (1 + 5.25*x1 - 1/cos(sqrt(0.68*x1)));
}
여기서 가운데 보시면 while문과 for문이 있는데
두개다 반복문이라서 같이 사용할 필요가 없다고 하시더라고요
두개를 합쳤으면 하는데, 어떤식으로 해야될지
제가 해보니 되지가 않더라고요
해결 좀 부탁드립니다 ㅠ
죄송합니다. 댓글 작성은 회원만 가능합니다.