Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package trojkat;
- import java.util.Scanner;
- import static java.lang.Math.*;
- public class Trojkat {
- public static void main(String[] args) {
- Test a = new Test();
- double xa, ya, xb, yb, xc, yc,xp,yp;
- Scanner input = new Scanner(System.in);
- System.out.println("---Algorytmion 2019, zadanie 1---" );
- System.out.println();
- System.out.print("Podaj xa: ");
- xa = input.nextDouble();
- System.out.print("Podaj ya: ");
- ya = input.nextDouble();
- System.out.print("Podaj xb: ");
- xb = input.nextDouble();
- System.out.print("Podaj yb: ");
- yb = input.nextDouble();
- System.out.print("Podaj xc: ");
- xc = input.nextDouble();
- System.out.print("Podaj yc: ");
- yc = input.nextDouble();
- double ab = a.dl_prostej_ab(xa, ya, xb, yb);
- double ac = a.dl_prostej_ac(xa, ya, xc, yc);
- double bc = a.dl_prostej_bc(xb, yb, xc, yc);
- System.out.println();
- if ((ab*ab+ac*ac==bc*bc) || (ab*ab+bc*bc==ac*ac) || (bc*bc+ac*ac==ab*ab))
- {
- System.out.println("a)Trojkat jest prostokatny");
- }
- else if((ab*ab+ac*ac<bc*bc) || (ab*ab+bc*bc<ac*ac) || (bc*bc+ac*ac<ab*ab))
- {
- System.out.println("a)Trojkat jest rozwartokatny");
- }
- else if((ab*ab+ac*ac>bc*bc) || (ab*ab+bc*bc>ac*ac) || (bc*bc+ac*ac>ab*ab))
- {
- System.out.println("a)Trojkat jest ostrokatny");
- }
- double p = (ab + ac + bc)/2;
- double pole = a.pole_trojkata(ab, ac, bc, p);
- double suma_h = (2*pole)/ab + (2*pole)/ac + (2*pole)/bc;
- System.out.println("b)Suma wysokosci trojkata: " + suma_h);
- double suma_sr = 0.5*(sqrt(2*(ac*ac+bc*bc)-ab*ab))+0.5*(sqrt(2*(ab*ab+bc*bc)-ac*ac))+0.5*(sqrt(2*(ab*ab+ac*ac)-bc*bc));
- System.out.println("b)Suma srednich trojkata: " + suma_sr);
- double rWpi = sqrt(((p-ab)*(p-ac)*(p-bc))/p);
- double rOpi = (ab*ac*bc)/(4*rWpi*p);
- System.out.println("b)Suma promieni okregu wpisanego i opisanego wynosi: " + (rWpi+rOpi));
- System.out.println();
- System.out.println("---Sprawdz czy punkt (xp,yp) nalezy do trojkata---");
- System.out.println();
- System.out.print("Podaj xp: ");
- xp = input.nextDouble();
- System.out.print("Podaj yp: ");
- yp = input.nextDouble();
- double obszar_trojkata = a.Obszar(xa, ya, xb, yb, xc, yc);
- boolean punkt_trojkata = a.CzyWewnatrz(xa, ya, xb, yb, xc, yc, xp, yp);
- System.out.println();
- if(punkt_trojkata == true)
- System.out.println("c)Punkt ("+xp+","+yp+") nalezy do trojkata");
- else
- System.out.println("c)Punkt ("+xp+","+yp+") nie nalezy do trojkata:");
- }
- }
- class Test
- {
- double dl_prostej_ab(double xa, double ya, double xb, double yb)
- {
- return sqrt(pow((xb-xa),2)+pow((yb-ya),2));
- }
- double dl_prostej_ac(double xa, double ya, double xc, double yc)
- {
- return sqrt(pow((xc-xa),2)+pow((yc-ya),2));
- }
- double dl_prostej_bc(double xb, double yb, double xc, double yc)
- {
- return sqrt(pow((xc-xb),2)+pow((yc-yb),2));
- }
- double pole_trojkata(double ab, double ac, double bc, double p)
- {
- return sqrt(p*(p-ab)*(p-ac)*(p-bc));
- }
- double Obszar(double xa, double ya, double xb, double yb, double xc, double yc)
- {
- return 0.5*abs((xa*(yb - yc) + xb*(yc - ya) + xc*(ya - yb)));
- }
- boolean CzyWewnatrz(double xa, double ya, double xb, double yb, double xc, double yc, double xp, double yp) {
- double T = Obszar(xa, ya, xb, yb, xc, yc);
- double T1 = Obszar(xp, yp, xb, yb, xc, yc);
- double T2 = Obszar(xa, ya, xp, yp, xc, yc);
- double T3 = Obszar(xa, ya, xb, yb, xp, yp);
- return (T == T1 + T2 + T3);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement