Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Smecheri vs populime

La multi ani @Lieutenant!

La multi ani @xmanyacs77!

Tableta office
 Comanda Mobexpert - o zi inainte ...

Ocolirea limitatoarelor de viteza...

Recomandare adeziv - pt pervaz PVC

Sfat achizitie, Xiaomi 14 Ultra s...
 Priza contorizare consum energie

Cat timp purtați o pereche d...

Problema Makita PLM 4628n

Nelamurire sunet navigatie auto
 Ma bate gandul la primul bmw

Cum rezolv o incompatibilitate in...

Despre instaurarea normalitã...

De cate ori purtati o pereche de ...
 

Problema C++

- - - - -
  • Please log in to reply
8 replies to this topic

#1
AIVV

AIVV

    Member

  • Grup: Members
  • Posts: 813
  • Înscris: 13.02.2011
Am urmatoarea functie care ar trebuii sa rezolve o ecuatie de gradul 2. In cazul in care delta este mai mare ca 0 solutiile sunt bune,la fel si daca delta este mai mic ca 0. Dar in cazul in care delta este egal cu 0, parca sare peste acel "else if" si se duce direct si face else si imi spune ca nu exista solutii reale.
void rezolvaEcuatie2(int a,int b, int c)
{
	 float  x1, x2, x;
	 float delta;
	 delta=(b*B)-(4*a*c);
	 if(delta>0)
	 {
				x1=(-b+sqrt(delta))/(2*a);
				x2=(-b-sqrt(delta))/(2*a);
				cout<<"Delta= "<<delta;
				cout<<"\nx1="<<x1;
				cout<<"\nx2="<<x2;
			   
			   
	 }
   
	 else if(delta=0)
	 {
		  x=-b/(2*a);
		  cout<<"X="<<x;
		  }
		 
	
	 else
	 cout<<"\nNu exista radacini reale";
	
	
}



#2
danielfp

danielfp

    Member

  • Grup: Members
  • Posts: 337
  • Înscris: 24.04.2010
Nu sunt sigur, dar nu mai compara delta cu 0. Compara-l cu 0.001 sau ceva de genul. :)

#3
AIVV

AIVV

    Member

  • Grup: Members
  • Posts: 813
  • Înscris: 13.02.2011
Am gasit problema, am uitat un egal la:
else if(delta=0)

Trebuia:
else if(delta==0)

Se pare ca acum merge. Oricum,multumesc pentru raspuns.

#4
danielfp

danielfp

    Member

  • Grup: Members
  • Posts: 337
  • Înscris: 24.04.2010
Nici nu am vazut ca nu ai pus == . Ce IDE folosesti?

Ma bucur ca merge, insa pe viitor incearca sa compari cu o constanta cum ti-am spus.
Uite aici mai multe detalii: http://stackoverflow...uble-comparison

Edited by danielfp, 16 October 2012 - 21:24.


#5
AIVV

AIVV

    Member

  • Grup: Members
  • Posts: 813
  • Înscris: 13.02.2011
Nici eu nu am vazut, ma uitam la functie si nu imi dadeam seama ce e gresit.Pana la urma am vazut.
O sa incerc si cum ai spus.
Folosesc Dev-C++.

#6
mrcarter13

mrcarter13

    New Member

  • Grup: Members
  • Posts: 2
  • Înscris: 18.11.2012
Daca scrii  ( void rezolvaEcuatie2(int a,int b, int c) ) iti citeste valorile pentru a ,b c ?

#7
AIVV

AIVV

    Member

  • Grup: Members
  • Posts: 813
  • Înscris: 13.02.2011
Banuiesc ca in cazul tau vrei sa faci o functie care rezolva o ecuatie de gradul 2. a,b,c o sa fie introduse de la tastatura.
Asta inseamna ca in main poti sa pui o linie care citeste variabilele (cin>>a,cin>>b,cin>>c),iar cand apelezi functia o sa fie ceva de genul: rezolvaEcuatie2(a,b,c);poti sa pui si x,y,z (cin>>x,cin>>y,cin>>z), iar apelul functiei se va face in felul urmator:rezolvaEcuatie2(x,y,z);. Teoretic variabilele din main() se suprapun peste variabilele din definitia functiei. (void rezolvaEcuatie2(int a,int b, int c) ).

#8
bogdan99999

bogdan99999

    Member

  • Grup: Members
  • Posts: 832
  • Înscris: 04.07.2008

View PostOpErAtOr96, on 02 decembrie 2012 - 18:27, said:

Un vot plz ... Nu cer mult Posted Image - http://www.thewar.ro...nume=OpErAtOr96 si daca poti da-l si mai departe..Ajutama sa castig o licenta CS:GO
Nu este cumva importiva regulilor sa faci asa ceva?

ONtopic: puteai sa pui si direct 3 if-uri fara else-uri. Cazurile <0 si =0 puteai fi tratate si intr-un singur caz.

#9
msmihai

msmihai

    Senior Member

  • Grup: Senior Members
  • Posts: 5,271
  • Înscris: 02.09.2006

View PostOpErAtOr96, on 02 decembrie 2012 - 18:27, said:

Un vot plz ... Nu cer mult Posted Image - http://www.thewar.ro...nume=OpErAtOr96 si daca poti da-l si mai departe..Ajutama sa castig o licenta CS:GO

CSGO a fost 5 euro acum cateva weekend-uri. Daca renuntati la berile alea pe care le bei ilegal cu prietenii tai de 12 ani sau la tigarile pe care le fumezi pentru acceptare sociala, ti-l cumparai destul de lejer. Ti-l cumperi si acum, de fapt.

Anunturi

Bun venit pe Forumul Softpedia!

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate