C programozásban: Hogyan lehet 2 egyenes metszéspontját meghatározni? Konkrétan az a kérdésem hogy C-ben hogy lehet 2 ismeretlenes egyenletet megoldani?
2 db egyenes egyenletéből kéne x-et és y-t kifejezni.
X=......Y...
csak Y-t nem ismeretlen változónak veszi hanem 0-nak.
#include <stdio.h>
#include <stdlib.h>
int main(){
double x1,x2,y1,y2,z1,z2,tmp;
scanf("%lf %lf %lf %lf %lf %lf",&x1,&y1,&z1,&x2,&y2,&z2);
tmp=z2;
y1/=x1;
z1/=x1;
x1=1;
y1*=-1; /*átvisszük az egyenlet másik oldalára*/
y1*=x2; /*behelyettesítünk*/
z1*=x2;
y1+=y2; /*összevonunk*/
z2-=z1; /*ekkor y=z2-vel*/
z2/=y1;
y2*=z2; /*behelyettesítünk*/
tmp-=y2;
tmp/=x2;
printf("A metszespont: (%lf;%lf)",tmp,z2);
system("PAUSE");
return 0;
}
Remélem, érthető. Az exception handlinget neked kell beleírnod. (Ha az egyik változó 0, vagy ha a két egyenlet nem lineárisan független, vagy ha az egyenesek párhuzamosak.)
>jobb helyeken le sem fordul
Ugyan miért nem fordulna le? Látszik, hogy neked is valaki elmondta, hogy az rossz, de fogalmad sincs, hogy miért, de azért okoskodsz. stdlib.h bent van, le fog fordulni.
Kedves 08:38!
Nem fog mindenhol működni, mivel a "pause" csak Windows-os parancs,
Egyébként a system("pause")-nak semmi köze sincs az stdlib.h-hoz.
Ennél sokkal jobb a getchar(), ami mindenhol ugyanúgy viselkedik.
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!