Форум С++

 

Ответить на сообщение

Вернуться к теме

Вы отвечаете на сообщение:

Автор: cheops   (30.11.2011 в 23:57)
У вас в начале идет лишняя последовательность 111, а с Pow(), если честно, не удалось разобраться так как у вас в определении функции 3 параметра, а вызываете вы её с двумя... Нужно либо третий параметр добавить, либо в определении функции оставить только два.
#include <iostream>
#include <math.h>
using namespace std;

float Pow (double a, int k, int m)
{
  cout<<"function 1\t";
  if (a==0)
    return (0);
  else if (k==0)
    return (1);
  else if (a>0)
    return (exp((double)k/m*log(a)));
  else if (m%2!=0)
    return(-(exp((double)k/m*log(-a))));
}
int main()
{
  double x,xn,xk,dx,a,max,min;
  long double z;
  int k;
  cout<<"xn=";
  cin>>xn;
  cout<<"xk=";
  cin>>xk;
  cout<<"dx=";
  cin>>dx;
  cout<<"a=";
  cin>>a;

  for(x = xn, k=0; x <= xk; x += dx,k++)
  {
    z=Pow(tan(a - x)/(4.35 + sin(a + x)), double(1.0/3.0));
    if(k%4==0) cout<<"x="<<x<<"\t z="<<z<<endl;
  }
  if(k==1)
  {
    max=fabs(z);
    min=fabs(z);
  }
  if(fabs(z)>max) max=fabs(z);
  if(fabs(z)<max) min=fabs(z);
  x=x+dx;
  cout<<"max="<<max<<"\t min="<<min<<"\n";
  cout<<"R="<<max-min<<"\n";
  system("PAUSE");
  return 0;
}


Ваше имя:

Пароль:

Цитировать

Используйте тэги для выделения текста:
Код: [code][/code]
Жирный: [b][/b]
Наклонный: [i][/i]
URL: [url][/url]

Сообщение:

Прикрепить: