Informatică, întrebare adresată de rusum9533, 8 ani în urmă

Să se realizeze un program pentru calculul rădăcinilor ecuaţiei de gradul II folosind o funcţie ai carei parametrii (coeficienţii ecuaţiei) vor fi apelaţi prin pointer şi prin referinţă.
Acest program trebuie realizat in C++

Răspunsuri la întrebare

Răspuns de alexdn7
0

Răspuns:

Ți-am făcut în c++ codul pentru problema cerută.

Explicație:

Am luat d pe post de delta, pe care îl știm drept b^2-4ac.

Apoi am pus condițiile în funcție de delta, astfel când <0 nu avem solutii reale, cand e ==0 avem solutia unica de forma (-b/2a), iar cand e >0 avem solutiile x1, x2.

#include <iostream>

#include <math.h>

using namespace std;

float a, b, c, d, x1, x2;

int main()

{

   

   cout<<"a="; cin>>a;

   cout<<"b="; cin>>b;

   cout<<"c="; cin>>c;

   d=b*b-4*a*c;

   if(d<0)

   cout<<"Nu are solutii reale";

   else if(d==0)

   cout<<"Solutia este "<<(-b/(2*a));

   else

   {

       x1=(-b+sqrt(d))/(2*a);

       x2=(-b-sqrt(d))/(2*a);

       cout<<"Solutiile ecuatiei sunt: "<<x1<<" si "<<x2;

   }

   return 0;

}

Aici varianta cu funcție:

#include <iostream>

#include <math.h>

using namespace std;

float a, b, c, d, x1, x2;

void fct (float a, float b, float c)

{

   float d;

   d=b*b-4*a*c;

   if(d<0)

   cout<<"Nu are solutii reale";

   else if(d==0)

   cout<<"Solutia este "<<(-b/(2*a));

   else

   {

       x1=(-b+sqrt(d))/(2*a);

       x2=(-b-sqrt(d))/(2*a);

       cout<<"Solutiile ecuatiei sunt: "<<x1<<" si "<<x2;

   }

}

int main()

{

   

   cout<<"a="; cin>>a;

   cout<<"b="; cin>>b;

   cout<<"c="; cin>>c;

   fct(a,b,c);

   return 0;

}


rusum9533: Pai si codul unde este?
alexdn7: L-am adăugat după, aveam impresia inițial că s-a postat odată cu explicațiile. Să-mi zici dacă e ceva în neregulă.
rusum9533: Parametrii trebuie apelati prin pointeri si prin referinta
Alte întrebări interesante