Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
satna
Сообщений: n/a
#1

доброго времени суток нужно код перевести из java в c++ но мои знание оканчиваются на яве - C++

16.02.2012, 20:43. Просмотров 299. Ответов 0
Метки нет (Все метки)

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
 
public class Main {
 
  
   public static class PairDouble implements Comparator<PairDouble> {
 
      private double first;
 
      private double second;
 
      public PairDouble() {
         this.setFirst(0);
         this.setSecond(0);
      }
 
 
      public PairDouble(double first, double second) {
         this.setFirst(first);
         this.setSecond(second);
      }
 
      public double getFirst() {
         return first;
      }
 
     
      public void setFirst(double first) {
         this.first = first;
      }
 
      
      public double getSecond() {
         return second;
      }
 
      public void setSecond(double second) {
         this.second = second;
      }
 
  
      @Override
      public int compare(PairDouble o1, PairDouble o2) {
         double tmp = o1.getFirst() - o2.getSecond();
         return tmp < 0 ? -1 : tmp == 0 ? 0 : 1;
      }
 
   }
 
   public static class PairDoubleComparator implements Comparator<PairDouble> {
 
      public int compare(PairDouble o1, PairDouble o2) {
         double tmp = o1.getFirst() - o2.getFirst();
         return tmp < 0 ? -1 : tmp == 0 ? 0 : 1;
 
      }
 
   }
 
   private static boolean cw(final PairDouble a, final PairDouble b,
         final PairDouble c) {
      return (b.getFirst() - a.getSecond()) * (c.second - a.second)
            - (b.second - a.second) * (c.first - a.first) < 0;
   }
 
   private static List<PairDouble> convexHull(List<PairDouble> p) {
      int n = p.size();
      if (n <= 1)
         return p;
      int k = 0;
      Collections.sort(p, new PairDoubleComparator());
      List<PairDouble> q = new ArrayList<PairDouble>();
      for (int i = 0; i < n; q.add(p.get(i++)), ++k)
         for (; k >= 2 && !cw(q.get(k - 2), q.get(k - 1), p.get(i)); --k)
            ;
      for (int i = n - 2, t = k; i >= 0; q.add(p.get(i--)), ++k)
         for (; k > t && !cw(q.get(k - 2), q.get(k - 1), p.get(i)); --k)
            ;
      resize(q, k - 1 - (q.get(0) == q.get(1) ? 1 : 0));
      return q;
 
   }
 
   private static <T> List<T> resize(List<T> list, int size) {
      if (list.size() > size) {
         for (int i = list.size() - 1; i >= size - 1; list.remove(i), --i)
            ;
      } else if (list.size() < size) {
         T temp = list.get(list.size() - 1);
         for (int i = 0, iSize = size - list.size(); i < iSize; list.add(temp), ++i)
            ;
      }
      return list;
   }
 
   public static void main(String[] args) {
      List<PairDouble> points = new ArrayList<PairDouble>();
      points.add(0, new PairDouble(0, 0));
      points.add(1, new PairDouble(3, 0));
      points.add(2, new PairDouble(0, 3));
      points.add(3, new PairDouble(1, 1));
      List<PairDouble> hull = convexHull(points);
      System.out.println(3 == hull.size());
 
   }
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.02.2012, 20:43
Здравствуйте! Я подобрал для вас темы с ответами на вопрос доброго времени суток нужно код перевести из java в c++ но мои знание оканчиваются на яве (C++):

Доброго времени суток, не могли бы вы проверить код? - C++
Дана плотность жидкости и плотность тела. Определить, что произойдет с некоторым телом, опущенным в жидкость. Например, свинец утонет в...

Доброго времени суток) Нужно написать программу по шифрованию - C++
Нужно написать прогу в С++ для шифрования и дешифрования текстовых файлов любым способом. Т.е. все должно примерно выглядеть так: ...

Доброго времени суток! Есть вопрос. - C++
Ввести строку произвольной длины (&lt;80 символов). Поменять местами первую и вторую половины строки. P.S. Язык программирования C++. ...

Доброго времени суток друзья. Хочу обратится к вам за советом! - C++
С недавних пор стал проявлять интерес к языку программирования с++. Посоветуйте, с чего начать?(литература, среды разработки):friends: До...

Доброго времени суток :curtsy: Надо набрать решение задачки :-* - C++
Пусть D-заштрихованная часть плоскости. Даны действительные числа x,y. Определить u, если u определяется по x и y следующим образом:

Доброго времени суток. Нужно разобраться запуском - Java SE
На Eclipse написал программу с SUI, теперь возник вопрос, а как же ее запускаемой сделать(создать для нее ярлык, файл запуска). Я недолго...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.02.2012, 20:43
Привет! Вот еще темы с ответами:

Доброго времени суток, не совсем понимаю данный код - C#
Доброго времени суток, помогите пожалуйста разобрать код... а то что-то не могу понять.. StreamReader f = new...

Доброго времени суток. Нужно найти ошибки в программе на языке Delphi по перестановке строк в матрице - Delphi
Задание следующее: написать программу в Delphi, которая переставляет строки матриц по возрастанию их первых элементов. Для первой матрицы...

Доброго времени суток! - HTML, CSS
Помогите пожайста разобраться в чем причина. С помощью javascript получаю данные отправленные пользователем с формы ...

Доброго времени суток! - HTML, CSS
Доброго времени суток! Как сделать так, чтобы изменённое вручную на странице, в браузере, значение оставалось неизменным после обновления?...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru