Ребята,срочно помогите!)Даю 100 баллов.Составить алгоритм решения задачи на языке C++ . В отчете предоставить три программы с разными операторами цикла (do ...while, while, for). В алгоритме и программе массивов не использовать.
Я здесь набросал все ,что мог, помогите доработать, написать до конца все эти операторы в одну программу,не получается.
#include <iostream>
#include <cstdlib>
#include <conio.h>
#include <math.h>
using namespace std;
int main()
{
float a,z,xn,xk,dx,R,max,min; float count=0,x;
a = 2.94;xn = 1.5;xk = 5.5;dx = 0.4;
while (xn <= xk)
for (x >= xn; x <= xk; x+=dx, dx = dx + 0.4)
{
do
{
z = a*pow((a*x*x*x*x*x*x*x/cos(a*a*a)+1,31),(1/5));
printf("X = %10f, Z = %10f \n", x, z);
dx = dx + 0.4;
}
while (x <= xk);
return 0;
}
{
max = x;min = z;
if (x > max) max = x;
if (z < max) min = z;
if (count > 2) count = 0;
if (count == 2) printf("X = %10f, Z = %10f \n", x, z);
count=0;
}
cout<<"max="<<max<<"\t min="<<min<<"\n";
cout<<"R="<<min-max<<"\n";
system("PAUSE");
return 0;
}
Answers & Comments
#include <cmath>
float func(float a, float x)
{
return a * pow(a * pow(x, 7) / (cos(pow(a, 3)) + 1.31), 0.2);
}
int main()
{
float xn = 1.5, a = 2.94, xk = 5.5, dx = 0.4;
float x = xn;
int i = 0;
float min_ = func(a, xn), max_ = func(a, xn);
std::cout << "WHILE: " << std::endl;
while(x < xk)
{
if(min_ > func(a, x))
min_ = func(a, x);
if(max_ < func(a, x))
max_ = func(a, x);
++i;
if(i % 2 == 0)
std::cout << x << " " << func(a, x) << std::endl;
x += dx;
}
std::cout << "MAX - MIN: " << max_ - min_ << std::endl;
std::cout << std::endl << "DO WHILE: " << std::endl;
x = xn;
i = 0;
min_ = func(a, xn), max_ = func(a, xn);
do
{
++i;
if(min_ > func(a, x))
min_ = func(a, x);
if(max_ < func(a, x))
max_ = func(a, x);
if(i % 2 == 0)
std::cout << x << " " << func(a, x) << std::endl;
x += dx;
}
while(x <= xk);
std::cout << "MAX - MIN: " << max_ - min_ << std::endl;
x = xn;
i = 0;
min_ = func(a, xn), max_ = func(a, xn);
std::cout << std::endl << "FOR: " << std::endl;
for(i = 1; x < xk; ++i)
{
if(min_ > func(a, x))
min_ = func(a, x);
if(max_ < func(a, x))
max_ = func(a, x);
if(i % 2 == 0)
std::cout << x << " " << func(a, x) << std::endl;
x += dx;
}
std::cout << "MAX - MIN: " << max_ - min_ << std::endl;
}