Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   [c++] составить программы для решения задач (https://forum.antichat.xyz/showthread.php?t=39889)

anti_sec2 09.05.2007 19:11

c++ срочна HEKP PLZZZZZ
 
привет помогите plz зделат 2 простых программы на c++ для этих задач я думаю для вас это очен проста
ЗАРАНЕЕ THANK

задачи здес

http://img230.imageshack.us/img230/6463/zadaciat1.jpg

anti_sec2 10.05.2007 21:50

Plzzzzzzzzzzz Help
ну это же для вас проста

wano81 11.05.2007 02:34

Напиши нормально условие задачи. А то вопросов туева хуча.
По 1-й задаче:
1) интервал для всех трех функций одинаков или [0.2; 2] только для первой, а для остальных требуется ввести
2) шаг везде одинаков или только для второй функции 1.2
3) что за бред, и во второй функции и в третьей у тебя x=0.9, такого не может быть

++Norton++ 14.05.2007 19:51

Если я правильно понял условия, то вот решение задачи №2:
Код:

#include <stdio.h> 
#include <conio.h>   
      int main() {         
        int n, S=0, i;           
        printf("Input n: ");         
        scanf("%d", &n);         

        for(i=1; i<=(2*n); i++) {
        S=S+(i*(i+1)); }         

printf("S=%d", S);         
getch();         
return 0;  }


scrat 14.05.2007 21:45

про вторую поподробней.решу.
2norton: как же меня бесит скан и принт Ф!чувак юзай std!

_Great_ 14.05.2007 23:46

Цитата:

2norton: как же меня бесит скан и принт Ф!чувак юзай std!
А не по боку?

Benzin 15.05.2007 00:17

Попробовал вот тут сделать первую.., но че то запара (да и кстати просили же на С++, а не на С)
Проблема скорее всего в последних строках, кароче не те функции выбирает..., подправьте, мне влом разбираться...


Код:

#include <iostream>
#include <math.h>
#include <conio.h>
using namespace std;

class Benzin
{
  public:
        double x0, xk, dx; //***** интервал [x0; xk] и шаг dx
       

  public:
          virtual double func1 (double)=0; //***** 1-я виртуальная
          virtual double func2 (double)=0; //***** 2-я виртуальная
          virtual double func3 (double)=0; //***** 3-я виртуальная

          double tab1(); //***** функция табулирования №1
          double tab2(); //***** функция табулирования №2
          double tab3(); //***** функция табулирования №3

          void input();
          double cnt(double);
          void output(double, double);
         
};


//*****
double Benzin::tab1()
{
        double x, y;
        for (x=x0; x<=xk; x+=dx)
        {
                y =func1(x);
                output(x,y);
        }
        return 0;
}

//*****
double Benzin::tab2()
{
        double x, y;       
        for (x=x0; x<=xk; x+=dx)
        {
                y =func2(x);
                output(x,y);
        }
        return 0;
}

//*****
double Benzin::tab3()
{
        double x, y;       

        for (x=x0; x<=xk; x+=dx)
        {
                y =func3(x);
                output(x,y);
        }
        return 0;
}

//***** Метод ввода значений интервала и шага
void Benzin::input()
{
        cout<<"Input\n\n";
        cout<<"x0="; cin>>x0; cout<<"\n";
        cout<<"xk="; cin>>xk; cout<<"\n";
        cout<<"dx="; cin>>dx; cout<<"\n";
        cout<<"Output:\n\n";
}

//***** Метод условий
double Benzin::cnt(double x)
{
        double z;

        if (x<0.9)
                z=tab1();
       
        if (x==0.9)
                z=tab2();
        else
                z=tab3();

        return 0;
}

//*****Метод вывода
void Benzin::output(double x, double y)
{
        cout<<"x= "<<x<<'\t';
        cout<<"f("<<x<<")= "<<y<<'\n';
}

//***** Производный класс
class Proizv : public Benzin
{
        //***** 1-я виртуальная
    virtual double func1 (double x)
        {
                double G1, G2, G3, G4;
               
                G1=x*x;
                G2=pow(G1,3)+(x*x);
                G3=sqrt(x+1);
                G4=G2/G3;

                return G4;
        }

        //***** 2-я виртуальная
        virtual double func2 (double x) 
        {
                double G1, G2;
               
                G1=sqrt(x+1);
                G2=1./(pow(x,2));

                return G2;
        }

        //***** 3-я виртуальная
        virtual double func3 (double x) 
        {
                double G1, G2, G3, t=1.9;
               
                G1=cos(x);
                G2=pow(G1,2);
                G3=G1+(t*G2);

                return G3;
        }
};

//MAIN
void main()
{
        Proizv S;
        S.input();

        double r; // Здесь ошибка, и я это знаю, но как исправить...
        S.cnt(r); //вот с этим методом у меня возникает проблема!!!
       
        _getch();
}


Benzin 15.05.2007 16:02

Прогу исправил.., теперь все ок.

Код:

#include <iostream>
#include <math.h>
#include <conio.h>
using namespace std;

class Benzin
{
  public:
        double x0, xk, dx; //***** интервал [x0; xk] и шаг dx
       

  public:
          virtual double func1 (double)=0; //***** 1-я виртуальная
          virtual double func2 (double)=0; //***** 2-я виртуальная
          virtual double func3 (double)=0; //***** 3-я виртуальная

          double tab(); //***** функция табулирования


          void input();
          double cnt(double);
          void output(double, double);
         
};


//***** Алгоритм табулирования (единый для всех функций)
double Benzin::tab()
{
        double x, y;
        for (x=x0; x<=xk; x+=dx)
        {
                y =cnt(x);
                output(x,y);
        }
        return 0;
}

//***** Метод ввода значений интервала и шага
void Benzin::input()
{
        cout<<"Input\n\n";
        cout<<"x0="; cin>>x0; cout<<"\n";
        cout<<"xk="; cin>>xk; cout<<"\n";
        cout<<"dx="; cin>>dx; cout<<"\n";
        cout<<"Output:\n\n";
}

//***** Метод условий
double Benzin::cnt(double x)
{
        double z;
       
        if ( x < 0.9 )
                z=func1(x);
    else if ( x > 0.9 )
        z=func3(x);
    else
        z=func2(x);

        return z;
}

//*****Метод вывода
void Benzin::output(double x, double y)
{
        cout<<"x= "<<x<<'\t';
        cout<<"f("<<x<<")= "<<y<<'\n';
}

//***** Производный класс
class Proizv : public Benzin
{
        //***** 1-я виртуальная
    virtual double func1 (double x)
        {
                double G1, G2, G3, G4;
               
                G1=x*x;
                G2=pow(G1,3)+(x*x);
                G3=sqrt(x+1);
                G4=G2/G3;

                return G4;
        }

        //***** 2-я виртуальная
        virtual double func2 (double x) 
        {
                double G1, G2;
               
                G1=sqrt(x+1);
                G2=1./(pow(x,2));

                return G2;
        }

        //***** 3-я виртуальная
        virtual double func3 (double x) 
        {
                double G1, G2, G3, t=1.9;
               
                G1=cos(x);
                G2=pow(G1,2);
                G3=G1+(t*G2);

                return G3;
        }
};

//MAIN
void main()
{
        Proizv K;
        K.input();
       
        K.tab();
        _getch();
       
}


scrat 15.05.2007 20:14

Код:

_getch();
O_o
вместо матс можно либу без .h юзать


Время: 04:07