[c++] составить программы для решения задач

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by anti_sec2, 9 May 2007.

  1. anti_sec2

    anti_sec2 New Member

    Joined:
    18 Sep 2005
    Messages:
    14
    Likes Received:
    1
    Reputations:
    0
    c++ срочна HEKP PLZZZZZ

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

    задачи здес

    http://img230.imageshack.us/img230/6463/zadaciat1.jpg
     
    #1 anti_sec2, 9 May 2007
    Last edited: 9 May 2007
  2. anti_sec2

    anti_sec2 New Member

    Joined:
    18 Sep 2005
    Messages:
    14
    Likes Received:
    1
    Reputations:
    0
    Plzzzzzzzzzzz Help
    ну это же для вас проста
     
  3. wano81

    wano81 New Member

    Joined:
    23 Oct 2006
    Messages:
    25
    Likes Received:
    4
    Reputations:
    5
    Напиши нормально условие задачи. А то вопросов туева хуча.
    По 1-й задаче:
    1) интервал для всех трех функций одинаков или [0.2; 2] только для первой, а для остальных требуется ввести
    2) шаг везде одинаков или только для второй функции 1.2
    3) что за бред, и во второй функции и в третьей у тебя x=0.9, такого не может быть
     
  4. ++Norton++

    ++Norton++ Elder - Старейшина

    Joined:
    20 Nov 2006
    Messages:
    167
    Likes Received:
    39
    Reputations:
    0
    Если я правильно понял условия, то вот решение задачи №2:
    Code:
    #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;  }
     
  5. scrat

    scrat кодер

    Joined:
    8 Apr 2007
    Messages:
    625
    Likes Received:
    541
    Reputations:
    3
    про вторую поподробней.решу.
    2norton: как же меня бесит скан и принт Ф!чувак юзай std!
     
    1 person likes this.
  6. _Great_

    _Great_ Elder - Старейшина

    Joined:
    27 Dec 2005
    Messages:
    2,032
    Likes Received:
    1,119
    Reputations:
    1,139
    А не по боку?
     
  7. Benzin

    Benzin Elder - Старейшина

    Joined:
    15 Jan 2007
    Messages:
    39
    Likes Received:
    8
    Reputations:
    -5
    Попробовал вот тут сделать первую.., но че то запара (да и кстати просили же на С++, а не на С)
    Проблема скорее всего в последних строках, кароче не те функции выбирает..., подправьте, мне влом разбираться...


    Code:
    #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();
    }
    
    	
     
  8. Benzin

    Benzin Elder - Старейшина

    Joined:
    15 Jan 2007
    Messages:
    39
    Likes Received:
    8
    Reputations:
    -5
    Прогу исправил.., теперь все ок.

    Code:
    #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();
    	
    }
    
    	
     
  9. scrat

    scrat кодер

    Joined:
    8 Apr 2007
    Messages:
    625
    Likes Received:
    541
    Reputations:
    3
    Code:
    _getch();
    o_O
    вместо матс можно либу без .h юзать
     
Loading...
Similar Threads - составить программы решения
  1. Peja
    Replies:
    0
    Views:
    2,778