Линейно уравнение

Напишете функция, която намира и отпечатва решенията на уравнението: a.x+b=0.

По желание: Напишете функция, която намира решенията на уравнението: a.x+b=0, но не го отпечатва, а го връща в резултат.

Публикувано в 12а с етикети . Постоянна връзка.

4 Responses to Линейно уравнение

  1. Nadq каза:
       void uravnenie (double a,double b)
       {
           if    ((a==0) && (b==0)) 
          cout<<"vsqko x e reshenie"<<endl;
        else if (b==0)
          cout<<"x e ravno na nula"<<endl;
        else if  (a==0)
          cout<<"nqma reshenie "<<endl;
        else cout<<"x = "<<((-b)/a) <<endl;
    
    };
    
    int lineino (double a,double b, double &x)
      {
           if    ((a==0) && (b==0)) 
            return 3;
        else if (b==0)
             return 2;
        else if  (a==0)
            return 1;
        else {
             x=((-b)/a); 
        return 0;
    }      
    }
    int main()
    {   
        double a,b,x;
        
         cout<<"vuvedete a:"<<endl;
          cin>>a;
         cout<<"vuvedete b:"<<endl;
          cin>>b;
          int r=lineino (a,b,x);
          
        if (r==1)
         cout<<"nqma reshenie"<<endl;
        else if (r==2) 
         cout<<"x=0"<<endl;
        else if (r==3) 
         cout <<"vsqko x e reshenie"<<endl;
        else cout<< "reshenieto e"<<x<<endl;       
        
        system("PAUSE");
        return EXIT_SUCCESS;
    }
    
    • Данаил каза:

      Вярно! Функцията може да бъде направена и така:

      int lineino (double a,double b, double &x)  {
          if (a==0) 
             if(b==0)  
                return 3;  // всяко х е решение
             else return 1;  // няма решение
          else {  // има едно решение
               x=-b/a;
               return x;
           }
  2. TVD каза:
    #include <cstdlib>
    #include <iostream>
    
    using namespace std;
    // funkciqta,koqto otpechatva reshenieto 
    void reshenie(int a,int b)
    {
     if ((a==0) && (b!=0))
     cout<<"nqma reshenie"<<endl;
     else if ((a==0) && (b==0))
     cout<<"vsqko x e reshenie"<<endl;
     else if ((a>0) && (b>0))
     cout<<"reshenieto e"<<(-b/a)<<endl; 
    }
    // funkciqta,koqto vrushta reshenieto
    int reshenie2(int a,int b,int &x)
    {
     if ((a==0) && (b!=0))
      return 1; 
     else if ((a==0) && (b==0))
      return 2;
     else if ((a>0) && (b>0))
     { 
            x=-b/a;          
      return 3;
     }   
    } 
    int main(int argc, char *argv[])
    {
        int a,b,x;
        cout<<"Vuvedete a i b"<<endl;
        cin>>a>>b;
        reshenie(a,b);
        switch (reshenie2 (a,b,x))
        {
            case 1 : cout<<"nqma reshenie"<<endl;    
        break;
            case 2 : cout<<"vsqko x e reshenie"<<endl; 
        break;
            case 3 : cout<<"reshenieto e"<<x<<endl; 
        break;
        }
    
        system("PAUSE");
        return EXIT_SUCCESS;
    }
    
    • Данаил каза:

      не съм съгласен за проверката if ((a>0) && (b>0)) – няма нужда от нея. Освен това така както сте направили задачата ще има случаи в които reshenie няма да отпечатва нищо, а reshenie2 не е определено какъв резултат ще върне.

Вашият коментар