Podmínky při řešení soustavy dvou lineárních rovnic o dvou neznámých – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Podmínky při řešení soustavy dvou lineárních rovnic o dvou neznámých – C / C++ – Fórum – Programujte.comPodmínky při řešení soustavy dvou lineárních rovnic o dvou neznámých – C / C++ – Fórum – Programujte.com

 

7. 12. 2007   #1
-
0
-

Zdravím, řeším jednu úlohu:

Zadání: Soustava lineárních rovnic - Řešte danou lineárních rovnici o dvou neznámých zadanou koeficienty a,b,c.

Takže obecně řeším x,y z tohoto:



V praxi to je třeba takový jednoduchý příklad:



No, zatím jsem došel k tomuto:



#include <iostream>
using namespace std;
int main()
{
//zadávání koeficientů A1,B1,C1,A2,B2,C2

double A1; //typ double zvolen z důvodu možnosti zadávání koef. A.B,C jako desetinné číslo
cout << " Zadejte A1: ";
cin >> A1;

double B1;
cout << " Zadejte B1: ";
cin >> B1;

double C1;
cout << " Zadejte C1: ";
cin >> C1;

cout << "\n";

double A2;
cout << " Zadejte A2: ";
cin >> A2;

double B2;
cout << " Zadejte B2: ";
cin >> B2;

double C2;
cout << " Zadejte C2: ";
cin >> C2;

cout << "\n";

double Y = (A1* C2 - A2*C1)/(A1*B2 - A2*B1); //Výpočet Y
double X = (C1 - B1*Y)/A1; //Výpočet X

cout << " Resenim soustavy rovnic je prunik reseni obou rovnic K = {" << X << ";" << Y << "}\n";

cin.get();
cin.get();

return 0;
}


Teď jsem se ale zasekl na tím, jak do tohoto vpravit podmínky kdy:
1)Soustava nemá řešení, jestliže dostaneme, že 0x=k, neboli 0=k, kde k je libovolné nenulové
číslo.
2) Soustava má nekonečně mnoho řešení, jestliže dostaneme,že kurziva]0x=0
neboli 0=0.

Napadlo mě, že to budu řešit pomocí cyklu if else, ale ať s tím experimentuju jak chci, kompilátor mě zatím dál nepustil.
Jinak vím, že když něčemu nerozumím, tak by mé kroky měly směřovat za učitelem a neotravovat lidi na tomhle prestižním fóru, ale mám teď angínu, 10 dní se ve škole neukážu a rád bych ten čas využil.
Za jakýkoliv pokus o nakopnutí mě k vyřešení mého problému předem mnohokrát děkuji.

Nahlásit jako SPAM
IP: 62.240.190.–
Mé zdrojáky nemají chyby. [br] Jen maj občas náhodné vlastnosti.
_k_
Duch
8. 12. 2007   #2
-
0
-

Rovnicu o 2 neznamych mozes chapat aj ako analyticke vyjadrenie priamky v rovine (vseobecna rovnica priamky).
Takze sustava ma nekonecne vela rieseni ak 2 rovnice vyjadruju tu istu priamku, cize existuje k z R tak ze a2=k*a1, b2 = k*b1, c2=k*c1. Ak rovnice splnaju tieto podmienky, sustava ma nekoecne vela rieseni.
Nema riesenie ak 2 priamky v rovine nemaju spolcny bod, tj. su rovnoezne. To su vtedy, ak sa ich rovnice lisia iba o konstantny clen - c.
Takze ak a2=k*a1, b2=k*b1 a sucasne c2 != k*c1, kde k je z R

Ak ziadna z tychto podmienok neplati tak ratas tak ako to uz mas.

Nahlásit jako SPAM
IP: 195.91.54.–
8. 12. 2007   #3
-
0
-

_k_: Díky za ty souvislosti a pěkné vysvětlení, něco z toho jsem i tušil...ale ty podminky tam nejsem schopnej stále zakomponovat, něco mi asi stále uniká....

Nahlásit jako SPAM
IP: 62.240.190.–
Mé zdrojáky nemají chyby. [br] Jen maj občas náhodné vlastnosti.
_k_
Duch
8. 12. 2007   #4
-
0
-

Neni zac.
K tym podmienkam:



float k;
/*...nacitanie koeficientov...*/
k = (float)a2/a1;
if(k==(float)b2/bi) { /*tu som si neni isty, kedze k moze byt aj iracionalne (sqrt(2) a pod. a to sa do float nezmesti) ci to bude fungovat vzdy, ale asi ano*/
if(k==c2/c1) {
/*nekonecne vela rieseni*/
return volaco;
}
/*nula rieseni*/
return volaco;
}
/*..zvysok tvojho kodu...*/

Neskusane ale hadam som sa neskol...

Nahlásit jako SPAM
IP: 195.91.54.–
8. 12. 2007   #5
-
0
-

_k_: Ještě jednou díky za polopaticke vysvetleni, moc si mi pomohl :smile1:

Nahlásit jako SPAM
IP: 62.240.190.–
Mé zdrojáky nemají chyby. [br] Jen maj občas náhodné vlastnosti.
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 29 hostů

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý