Racunanje kvadratne jednadzbe

poruka: 52
|
čitano: 14.620
|
moderatori: XXX-Man, vincimus
+/- sve poruke
ravni prikaz
starije poruke gore
17 godina
offline
Racunanje kvadratne jednadzbe

Kad završi nek usporedi:

 

 

#include<iostream>

using namespace std;

 

 

int main() {

float a1, b1, r1, a2, b2, r2, d, d1, d2;

 

 

cout<< "Unesi koeficijente prve jednadzbe: "; cin>> a1 >> b1 >> r1;

cout<< "Unesi koficijente druge jednadzbe: "; cin>> a2 >> b2 >> r2;

 

if((d = (a1*b2)- (a2*b1)) == 0) {

cout<< "Sustav jednadzbi nema rjesenje!";

return 0;

}

 

 

d1 = (r1*b2)-(r2*b1);

d2 = (a1*r2)-(a2*r1);

cout<< "x = " << d1/d << endl;

cout<< "y = " << d2/d << endl;

return 0;

}

 

 

 

 

 

 

 

 

 

Poruka je uređivana zadnji put sub 21.8.2010 15:30 (Floki).
 
0 0 hvala 0
16 godina
offline
RE: Racunanje kvadratne jednadzbe

Ne valja Floki ;-)

U prvom slučaju ne možeš odmah zaključit da nema rješenja. U tom slučaju sustav ima beskonačno rješenja ili nijedno. Inače ima jedinstveno, kako si i napravio.

http://manutd-croatia.com/forum/index.php ... forum i udruga navijača Manchester Uniteda...
17 godina
offline
RE: Racunanje kvadratne jednadzbe
Luuka kaže...

Ne valja Floki ;-)

U prvom slučaju ne možeš odmah zaključit da nema rješenja. U tom slučaju sustav ima beskonačno rješenja ili nijedno. Inače ima jedinstveno, kako si i napravio.

Dobro, determinanta kod Cramera pokriva oba slučaja i kad rješenja nema i kad postoji beskonačno mnogo rješenja, slučaj D = 0.

Mogu malo modificirati kod pa kombinacijom Cramera i metodom suprotnih koeficijenata pokriti sve kombinacije:

 

 

 

 

 

#include<iostream>

using namespace std;

 

 

int main() {

float a1, b1, r1, a2, b2, r2, d, d1, d2, p1, p2;

 

 

cout<< "Unesi koeficijente prve jednadzbe: "; cin>> a1 >> b1 >> r1;

cout<< "Unesi koficijente druge jednadzbe: "; cin>> a2 >> b2 >> r2;

 

p1= (-a2*b1+a1*b2);

p2= (-a2*r1+a1*r2);

 

if(p1==0 && p2==0) {

cout<< "Sustav ima beskonacno mnogo rjesenja!" << endl;

return 0;

}

else

if(p1==0 && p2!=0) {

cout<< "Sustav jednadzbi nema rjesenje!" << endl;

return 0;

}

else

{

d = (a1*b2)- (a2*b1); 

d1 = (r1*b2)-(r2*b1);

d2 = (a1*r2)-(a2*r1);

cout<< "x = " << d1/d << endl;

cout<< "y = " << d2/d << endl;

return 0;

}

}

 

Poruka je uređivana zadnji put ned 22.8.2010 22:09 (Floki).
16 godina
offline
RE: Racunanje kvadratne jednadzbe

Za usporedbu, i ja sam nešto natipko (mogući bugovi i malo ružniji ispis)

 

#include <iostream>
using namespace std;

int main()
{
    double a1,a2,b1,b2,c1,c2,D;
   
    cout<<"Unesi koeficijente prve jednadzbe: ";
    cin>>a1>>b1>>c1;
   
    cout<<"Unesi koeficijente druge jednadzbe: ";
    cin>>a2>>b2>>c2;
   
    D=a1*b2-a2*b1;
   
    cout<<"Rjesava se sustav"<<endl;
    cout<<a1<<"x+"<<b1<<"y="<<c1<<endl;
    cout<<a2<<"x+"<<b2<<"y="<<c2<<endl;
   
    if (D==0)
    {
         //sustav ima beskonacno ili nijedno rjesenje
         double c=a1/a2; //ako su jednadžbe zavisne, onda postoji konstanta koja ih veze
        
         if ( c1==c*c2 ) // ako ista konstanta veze i slobodne koeficijente, imamo beskonacno rjesenja
         {
              cout<<"Sustav ima beskonacno mnogo rjesenja"<<endl;
              if (a1!=0 && b1==0)
               cout<<"Rjesenja su oblika (x,y)=("<<c1/a1<<",t), t proizvoljan realni broj"<<endl;
             
              if (a1==0 && b1!=0)
               cout<<"Rjesenja su oblika (x,y)=(t,"<<c1/b1<<"), t proizvoljan realni broj"<<endl;
              
              if (a1!=0 && b1!=0)
               cout<<"Rjesenja su oblika (x,y)=(t,"<<c1/b1<<"-"<<a1/b1<<"t), t proizvoljan realni broj"<<endl;
              
         }
         else cout<<"Sustav nema rjesenja!!"<<endl;
          
    }
    else
    {
        //sustav ima jedinstveno rjesenje
        double x,y;
       
        x=(b2*c1-c2*b1)/D;
        y=(c2*a1-c1*a2)/D;
       
        cout<<"Rjesenje sustava je jedinstveno i glasi : (x,y)=("<<x<<","<<y<<")"<<endl;
       
    }

    return 0;
}

http://manutd-croatia.com/forum/index.php ... forum i udruga navijača Manchester Uniteda...
17 godina
offline
Racunanje kvadratne jednadzbe

Evo jedno rješenje zasnovano na metodi suprotnih koeficijenata, inače trebalo bi dodati još tvoju konstantu kojom si super riješio varijacije beskonačnih rješenjaNamigiva

 

 

#include<iostream>

using namespace std;

 

 

int main() {

float a1, b1, r1, a2, b2, r2, p1, p2, x, y;

 

 

cout<< "Unesi koeficijente prve jednadzbe: "; cin>> a1 >> b1 >> r1;

cout<< "Unesi koficijente druge jednadzbe: "; cin>> a2 >> b2 >> r2;

 

p1= (-a2*b1+a1*b2);   // metoda suprotnih koeficijenata

p2= (-a2*r1+a1*r2);

 

if(p1==0 && p2==0)  {    // jednadžbe su ekvivalentne

cout<< "Sustav ima beskonacno mnogo rjesenja!" << endl;

return 0;

}

else

if(p1==0 && p2!=0) {    // sustav je nemoguć

cout<< "Sustav jednadzbi nema rjesenje!" << endl;

return 0;

}

else

y = p2/p1;

x = (r1-(b1*y))/a1;

cout<< "x = " << x << endl;   

cout<< "y = " << y << endl;

return 0;

}

}

 
0 0 hvala 0
16 godina
offline
RE: Racunanje kvadratne jednadzbe

I ja sam riješio metodom suprotnih koeficijenata, samo bez pomoćnih varijabli Izlanuo se

Prvo "poništio" koeficijente kod x-a, pa kod y-ona i dobio gotove formule.

http://manutd-croatia.com/forum/index.php ... forum i udruga navijača Manchester Uniteda...
16 godina
offline
RE: Racunanje kvadratne jednadzbe

I još jedna stvar, moj kod neće bit dobar ako je jedna (ili obje) jednadžbe nul-jednadžba, tj ako se za koeficijente upišu sve nule. To bi na početku trebalo provjeravt, no poružnilo bi kod a nije niš pametno ;-)

 

autoru topica - kod prgrama s kvadratnom jednadžbom, ako se ubaci a=0, onda kaže da je greška prilikom računanja (dijeljenje s nulom bi se trebalo desit). No, jednadžba 0x^2+4x+5=0 je sasvim ok za riješit (iako nije kvadratna) :D

http://manutd-croatia.com/forum/index.php ... forum i udruga navijača Manchester Uniteda...
16 godina
neaktivan
offline
Racunanje kvadratne jednadzbe

kralju sutra mi je popravni,i to baš kvadratna jednažba :))

Odi na google i upiši SEARCH...:)
Moj PC  
1 0 hvala 0
16 godina
offline
RE: Racunanje kvadratne jednadzbe
El Maniachi kaže...

kralju sutra mi je popravni,i to baš kvadratna jednažba :))

Sretno na popravnom ;-)

http://manutd-croatia.com/forum/index.php ... forum i udruga navijača Manchester Uniteda...
15 godina
offline
RE: Racunanje kvadratne jednadzbe

Sretno na popravnom [btw nisi jedini koji je isao na popravak iz mat, ja jesam vise puta (prokleta lijenost!), a opet sad radim takve programe.

Nadam se da ti bude pomoglo!!

15 godina
offline
RE: Racunanje kvadratne jednadzbe
Luuka kaže...

 kod prgrama s kvadratnom jednadžbom, ako se ubaci a=0, onda kaže da je greška prilikom računanja (dijeljenje s nulom bi se trebalo desit). No, jednadžba 0x^2+4x+5=0 je sasvim ok za riješit (iako nije kvadratna) :D

pa ja sam napravio da racuna bas kvadratne a ne takvog tipa ( 0x^2+4x+5=0 ) kao sto si ti napisao :D

kaze da je dijeljenje s nulom, pa i bilo bi kod racunanja jer je X zapravo 0 u tvojem primjeru a ovaj ^2 dio kao da ga i nema :D

Poruka je uređivana zadnji put ned 22.8.2010 23:54 (NiGHT_RiDER92).
15 godina
neaktivan
offline
RE: Racunanje kvadratne jednadzbe
NiGHT_RiDER92 kaže...

Evo napravio sam mali programcic u C++ koji racuna kvadratnu jednadzbu cisto iz dosade ...

 

LINK

Napravio si ?! Mene zanima zasto tamo pise by Moran Rod, lol, nisi ti Moran Rod ?! :P

 

Inace program je dobar

15 godina
offline
RE: Racunanje kvadratne jednadzbe

hahaha pa to mi je ime i prezime [jbg malo cudno ime ali kaj ces]

16 godina
offline
RE: Racunanje kvadratne jednadzbe
NiGHT_RiDER92 kaže...
Luuka kaže...

 kod prgrama s kvadratnom jednadžbom, ako se ubaci a=0, onda kaže da je greška prilikom računanja (dijeljenje s nulom bi se trebalo desit). No, jednadžba 0x^2+4x+5=0 je sasvim ok za riješit (iako nije kvadratna) :D

pa ja sam napravio da racuna bas kvadratne a ne takvog tipa ( 0x^2+4x+5=0 ) kao sto si ti napisao :D

kaze da je dijeljenje s nulom, pa i bilo bi kod racunanja jer je X zapravo 0 u tvojem primjeru a ovaj ^2 dio kao da ga i nema :D

u mom primjeru je to obična linearna jednadžba sa jedinim rješenjem x=-5/4. Nije kvadtna jednadžba, ali je još lakše rješiva. Ali ok, bar si stavio neko upozorenje, iskreno, očekivao sam da će se program srušit :D

http://manutd-croatia.com/forum/index.php ... forum i udruga navijača Manchester Uniteda...
15 godina
offline
RE: Racunanje kvadratne jednadzbe

haha a ti bi sad da sve jednadžbe riješava, polako imam vremena za sve napravit :D :D :D [kad naučim :D]

15 godina
offline
Racunanje kvadratne jednadzbe

Evo da se nadovežem na novu temu:

Napravio sam jos jedan programčić koji računa jednadžbu pravca kroz 2 točke.

Ja sam to testirao po primjerima s neta i sve je ok bilo jedino daje rezultat u decimalnog obliku (neznam slozit da u obliku razlomka daje rezulutat) ali svejedno tocno ispada, nadam se da ispravno radi :D :D

 

Evo TU su neki primjeri i po njima sam isto probao racunati i tocno je ispalo

 

LINK na program

 

Poruka je uređivana zadnji put pon 23.8.2010 1:33 (NiGHT_RiDER92).
Moj PC  
0 0 hvala 0
16 godina
offline
RE: Racunanje kvadratne jednadzbe

Imaš greške kod pravaca koji su paralelni sa nekom od osi, i kad se unesu dvije iste točke ;-)

http://manutd-croatia.com/forum/index.php ... forum i udruga navijača Manchester Uniteda...
16 godina
neaktivan
offline
Racunanje kvadratne jednadzbe

ja san proša,al što je najvažnije naučio san to...:) pa tako sumnjan da cu imat problema s tom jednažbom više...:)

Odi na google i upiši SEARCH...:)
Moj PC  
1 0 hvala 0
15 godina
offline
RE: Racunanje kvadratne jednadzbe

Jelda da nije tak teško? :D

17 godina
neaktivan
offline
Racunanje kvadratne jednadzbe

samo za ovo gledanje jel nešto 0. Nikad ne smijete staviti baš 0. Zbog nepreciznosti izracuna . dakle umjesto foo==0 stavite (abs(foo)<eps) di eps stavite neki malo broj iznad 0

 
0 0 hvala 0
16 godina
neaktivan
offline
Racunanje kvadratne jednadzbe

ma ko šale :)) samo triba sist i grijat stolicu malo više :)

Odi na google i upiši SEARCH...:)
Moj PC  
1 0 hvala 0
16 godina
offline
RE: Racunanje kvadratne jednadzbe
Zoidberg kaže...

samo za ovo gledanje jel nešto 0. Nikad ne smijete staviti baš 0. Zbog nepreciznosti izracuna . dakle umjesto foo==0 stavite (abs(foo)<eps) di eps stavite neki malo broj iznad 0

To štima, ali tu ni nema nekog računa da bi se tak provjeravala nula. Provjere su kod učitavanja koeficijenata,a tu je sve čisto (više-manje) :D

http://manutd-croatia.com/forum/index.php ... forum i udruga navijača Manchester Uniteda...
Nova poruka
E-mail:
Lozinka:
 
vrh stranice