Şimdi Ara

''Java Ödevi 3 Noktası Verilen Çemberi ve Alanını Bulma'' (Yapıldı)

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
4
Cevap
0
Favori
470
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Arkadaşlar bilgisayar mühendisliği 1. sınıf öğrencisiyim ve ilk ödevim bir kaç gün önce verildi. Başta kimseden yardım almadan kendi başıma yapayım ki kendimi geliştireyim dedim ancak ödevi yapamadığımı fark ettiğimde bu düşüncemden vazgeçtim . Bunun sebebi ise hocanın bize başı şeyleri çok üstünkörü anlatıp bunu çok abartı şekilde istemesi sanırım, klasik üniversite işte.
    Asıl soruma gelecek olursakhttp://ceng.anadolu.edu.tr/oozsen/BIM101/odev/Homework-1_updated.pdf bu ödevi switch case ile yapmak istiyorum. Ancak case 1 dediğimde o circle şartını nasıl sağlayacağım? O formülü bulduk diyelim, bu 3 nokta çember belirtmezse diğer bu 3 nokta çember belirtmiyor olayını nasıl becereceğim. Yardımlarınızı bekliyorum acilen... Şimdiden teşekkürler.

    Ayrıca bunları Java'da yazmam gerek ve IntelliJ kullanıyorum.



    < Bu mesaj bu kişi tarafından değiştirildi xaLpeLLa -- 11 Aralık 2016; 21:10:43 >







  • Gökşen PASLI G kullanıcısına yanıt
    Kodu alıp uyarlamaktan çok mantığını anlayabilsem daha güzel olur sanırım, bir de bu işin daha başındayım. Pek geçmişim de olmadığı için anlayamadım buradaki olayı tam olarak.
  • Arkadaşlar ödevi, bölümden bir arkadaşımla baya kafa patlatarak yazdık ve güzel bir şekilde yazdığımızı düşünüyorum. Olur da benim gibi arayan arkadaşlardan biri denk gelirse işine yarasın diye de buraya kodları bırakıyorum. Mantığını anlamayan olursa özelden mesaj atarsa yardımcı olurum

    import java.util.Scanner;
    public class Homework {
    public static void main (String [] args){
    System.out.println("----- MENU -----\n| 1 - Circle |\n| 2 - Triangle |\n| 3 - Line |\n| 4 - Quit |\n----------------");
    System.out.print(" \nPlease select a menu item (1-4)->");
    Scanner input = new Scanner(System.in);
    int choice = input.nextInt();
    switch (choice){
    case 1:System.out.print("Please enter circle's (x1,y1), (x2,y2), (x3,y3) coordinates-> ");
    int x1 = input.nextInt(); int y1 = input.nextInt();
    int x2 = input.nextInt(); int y2 = input.nextInt();
    int x3 = input.nextInt(); int y3 = input.nextInt();
    double circleside1 = Math.sqrt((Math.pow(x2-x1,2))+Math.pow((y2-y1),2)); //Calculating sides lengths.
    double circleside2 = Math.sqrt((Math.pow(x3-x1,2))+Math.pow((y3-y1),2));
    double circleside3 = Math.sqrt((Math.pow(x3-x2,2))+Math.pow((y3-y2),2));
    if (circleside2<circleside1+circleside3 && circleside2>Math.abs(circleside1-circleside3)){ //Here used triangle inequality.
    double areaincircle=Math.abs((x1*Math.abs(y2-y3))+x2*(Math.abs(y1-y3))+x3*(Math.abs(y1-y2)))/2; //And triangle area formula.
    double radius=(circleside1*circleside2*circleside3)/(4*areaincircle); //Sin theorem = (|A|*|B|*|C|)/(4r)=A(ABC) So from there we calculated 'r'.
    float circlearea=(float)(Math.PI*radius*radius);
    System.out.print("("+x1+","+y1+"),("+x2+","+y2+"),("+x3+","+y3+") coordinates form a circle and the circle area is "+circlearea+"cm2.");}
    else {
    System.out.print("("+x1+","+y1+"),("+x2+","+y2+"),("+x3+","+y3+") coordinates do not form a circle.");}
    break;
    case 2:System.out.print("Please enter triangle's (x1,y1) (x2,y2) (x3,y3) coordinates->");
    int a1 = input.nextInt(); int b1 = input.nextInt(); //I couldn't use same variables so I changed them.
    int a2 = input.nextInt(); int b2 = input.nextInt();
    int a3 = input.nextInt(); int b3 = input.nextInt();
    double triangleside1 = Math.sqrt((Math.pow(a2-a1,2))+Math.pow((b2-b1),2));
    double triangleside2 = Math.sqrt((Math.pow(a3-a1,2))+Math.pow((b3-b1),2));
    double triangleside3 = Math.sqrt((Math.pow(a3-a2,2))+Math.pow((b3-b2),2));
    double trianglearea = Math.abs(a1*Math.abs(b2-b3)+a2*Math.abs(b1-b3)+a3*Math.abs(b1-b2))/2; //Same triangle area formula.
    if (triangleside2<triangleside1+triangleside3 && triangleside2>Math.abs(triangleside1-triangleside3)){ //Triangle inequality.
    System.out.print("("+a1+","+b1+"),("+a2+","+b2+"),("+a3+","+b3+") coordinates form a triangle and the triangle area is"+trianglearea+"cm2.");}
    else {
    System.out.print("("+a1+","+b1+"),("+a2+","+b2+"),("+a3+","+b3+") coordinates do not form a triangle.");}
    break;
    case 3:System.out.print("Please enter two coordinate points (x1,y1) (x2,y2)->");
    int z1 = input.nextInt(); int u1 = input.nextInt(); //Variables changing again..
    int z3 = input.nextInt(); int u3 = input.nextInt();
    System.out.print("Please enter one coordinate point (x,y)->");
    int z2 = input.nextInt(); int u2 = input.nextInt();
    if ((u3-u1)*(z3-z2)==(u3-u2)*(z3-z1)){ //Instead of equalize slopes, I equalized the formulas. So we don't have to face '/zero' situation.
    System.out.print("("+z1+","+u1+"),("+z3+","+u3+") coordinate points are on the same line with the coordinate point ("+z2+","+u3+").");}
    else{
    System.out.print("("+z1+","+u1+"),("+z3+","+u3+") coordinate points are not on the same line with the coordinate point("+z2+","+u2+").");}
    }}}




  • Yapay Zeka’dan İlgili Konular
    Daha Fazla Göster
    
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.