Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Табулирование графика функции


Автор: fenixkl 14.10.2007, 16:38
Здравствуйте уважаемые программисты!Помогите пожалуйста с одной программкой.

Условие: задается функция на отрезке в виде графика.зад-ся АВ, В>A и кол-во точек табулирования "n" Протубулировать функции и написать результат на экране постранично в виде таблицы с шапкой,состающей из столбцов , №.найти наиб\наим на отрезке и выделить это в таблице напечатать их повторно в n столбце.Оста-е значения не повторяются

График функции.
user posted image

Примерно, что я пока успел и смог додуматься, то должно быть примерно так:

#include <cmath>  
#include <cstdio>
#include <cstdlib>
#include <iostream>
#include <iomanip>

using namespace std;

int main()
{
    int n,i,m, ost;
   
    float a, b, x,y,min, max;
  double  Tab,z;
    do{
    cout<<"Vvedite  znachenie nachala otrezka AB \"a\" \na=";
    cin>>a;
    cout<<"Vvedite znachenie konca otrezka AB \"b\" \nb=";
    cin>>b;
    
    if(b<=a){ cout<<"\"B\" dolzhno byt bolshe \"A\""<<endl;}
    }
    while (b<=a);


     cout<<"Vvedite znachenie kolichestva tochek \"n\"  vnutri otrezka:\nn=";
     cin>>n; 
    { 
    min=-1,max=2;
      x=a;
      Tab=(b-a)/(n-1);
     
     for(i=1;i<=n;i++) 
     {
  m= x/4;
  z=x-4*m;
  if (z<=2) y=sqrt(1-(z-1)*(z-1));
if (z==2) y=max;
if(z>=2&&z<=3) y=2-sqrt(z*z);
if (z==3)y=min;
if(z>=4)y=0;
     

  if (y<min) min=y;
  else min=min;
  
  if (y>max) max=y;
  else max=max;

  x=x+Tab;
  }
  x=a;
  for (i=1;i<=n;i++)
  {
   m=(x/4);
  z=x-4*m;
  if (z<=2) y=sqrt(1-(z-1)*(z-1));
if (z==2)y=max;
if(z>=2&&z<=3) y=2-sqrt(z*z);
if (z==3)y=min;
if(z>=4)y=0;}
if ((i%20==0)||(i==1))
  {
  
  cout<<"N\t"
      <<"   X\t"
      <<"   Y\t"
      <<"min/max\n";
  };
   cout<<i<<"\t";
   cout<<setprecision(4)<<x<<"\t"
       <<setprecision(4)<<y<<"\t";
       
   if ((y==max)||(y==min)) {cout<<setprecision(4)<<y<<"\n";
          
  x=x+Tab;

    }}
  system("PAUSE");
  return 0;
  }  



Нужно подредактировть вывод строками и столбцами.
 smile Помогите пожалуйста с программой.Жду ваших конструктивных предложений.

Автор: DjoNIK 15.10.2007, 07:36
Неконструктивно, но все же...
Код желательно выделять в BB - так его приятнее читать!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)