Skocz do zawartości

  •  
  • Mini kompendium
  • MimeTeX
  • Regulamin

        STUDIA        

Znajdź średnicę zbioru n punktów na płaszczyźnie - JAVA



  • Nie możesz napisać tematu
  • Zaloguj się aby odpowiedzieć
10 odpowiedzi w tym temacie

#1 Gość_Karis126_*

Gość_Karis126_*
  • Gość

Napisano 26.10.2016 - 08:20

Znajdź średnicę zbioru n punktów na płaszczyźnie - zaimplementować w javie.


  • 0

Afroman

    Kombinator

  • Użytkownik
3
  • Płeć:Kobieta

Napisano 25.09.2011 - 17:55

#2 Futurista

Futurista

    Przeliczalny

  • Użytkownik
  • 38 postów
1
Neutralny
  • Płeć:Kobieta

Napisano 26.10.2016 - 08:23

Policz pętlą odległości między punktami wzór d=\sqrt{(x_2-x_1)^2+(y_2-y_1)^2}

 

średnica to max z tego wiec przygotuj zmienną do zapisu d

 

Napisz jak to widzisz


  • 0

Dziękujmy bardziej oświeconym


#3 Gość_Karis126_*

Gość_Karis126_*
  • Gość

Napisano 26.10.2016 - 12:14

chodzi mi bardziej o to żeby ktoś mi zaimplementował cały progream w javie i wrzucił kod


  • 0

#4 Futurista

Futurista

    Przeliczalny

  • Użytkownik
  • 38 postów
1
Neutralny
  • Płeć:Kobieta

Napisano 26.10.2016 - 14:27

ok a w jaki sposób masz podane te n punktów? Może być tabelka np

 

A     0    0

B     1    2

 

itd Czyli A=(0,0), B=(1,2)    


  • 0

Dziękujmy bardziej oświeconym


#5 Gość_Karis126_*

Gość_Karis126_*
  • Gość

Napisano 26.10.2016 - 17:17

n punktów chyba ma się losowo wprowadzac na plaszczyzne przydała by się aplikacja okienko wa i żeby było widać te punkty na płaszczyźnie a ty jak byś to widział?
  • 0

#6 Futurista

Futurista

    Przeliczalny

  • Użytkownik
  • 38 postów
1
Neutralny
  • Płeć:Kobieta

Napisano 26.10.2016 - 20:13

public class Srednica
{
 public static void main(String[] args) 
  {
   int n=20;   /ile ma być punktów
   Random rand = new Random();             //do losowania


   int tablica[][] = new int[n][2];       //tablica na te punkty

//wypełnienie tablicy losowo (są całkowite ale możesz dać double)
    for(int i = 0; i < 2; i++)
      for(int j = 0; j < 2; j++)
        tablica[i][j] = rand.nextInt(201)-100;    // losowanie z zakresu -100 do 100

// obliczanie odległości
double odleg[][] = new int[n][n];
for(int i = 0; i < n; i++)
      {
for(int j = 0; j < n; j++)
        {
double xA=tablica[i,j];
double yA=tablica[i,j];
double xB=tablica[i,j];
double yB=tablica[i,j];
odleg[i][j] = Math.sqrt(Math.pow(xA-xB,2)+Math.pow(yA-yB,2));
}
}
double srednica=Math.max(odelg);

Zauważyłem, że jest błąd w tych punktach przy obliczaniu odległości (bo są takie same, nie zauważyłam bo najpierw pisałam szkielet)

Popraw to i powinno działać, ja muszę uciekać niestety


  • 0

Dziękujmy bardziej oświeconym


#7 Kinia7

Kinia7

    Wielki Analityk

  • ^Przyjaciele
  • 3137 postów
424
Instruktor II
  • Płeć:Kobieta

Napisano 26.10.2016 - 21:59

Zauważyłem, że jest błąd w tych punktach przy obliczaniu odległości (bo są takie same, nie zauważyłam bo najpierw pisałam szkielet)

 

 

Jak to rozumieć?


  • 0

#8 Gość_Karis126_*

Gość_Karis126_*
  • Gość

Napisano 27.10.2016 - 06:17

dzięki wielkie a gdzie jest ten błąd co trzeba poprawić możesz wskazać?


  • 0

#9 Futurista

Futurista

    Przeliczalny

  • Użytkownik
  • 38 postów
1
Neutralny
  • Płeć:Kobieta

Napisano 27.10.2016 - 08:28

Jak to rozumieć?

 

xA=xB=yA=yB to jest taki błąd zrobiłem

 

Powinniśmy wziąć l-ty punkt i porównać z każdym z k-tych w clu policzenia odległości między nimi


  • 0

Dziękujmy bardziej oświeconym


#10 Gość_Karis126_*

Gość_Karis126_*
  • Gość

Napisano 27.10.2016 - 10:56

czy mógłbyś poprawić mi ten błąd w kodzie i wkleić poprawny kod?


  • 0

#11 Jarekzulus

Jarekzulus

    Wielki Analityk

  • +Mods
  • Redaktor
  • 4210 postów
3410
Profesor
  • Płeć:Mężczyzna

Napisano 28.10.2016 - 00:20

Nie mam maszyny wirtualnej ale to chyba powinno być tak:

xA=tablica[1][i]
yA=tablica[2][i]
xB=tablica[1][j]
yB=tablica[2][j]

Użytkownik Jarekzulus edytował ten post 28.10.2016 - 00:21

  • 0

:wave: :wave: :wave: Jeśli rzuciłem choć promyczek światła na problem który postawiłeś - podziękuj. pre_1433974176__syg.jpgNad kreską