Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
94 / 67 / 23
Регистрация: 22.09.2013
Сообщений: 626

Сравнивать объекты, как начать?

27.03.2017, 22:44. Показов 589. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет всем еще раз.
Есть первые данные - название, вес, скорость и таких 7 штук
Есть вторые данные - прочность и таких от 0 до 100
Нужно как то выбрать определенный вес, для определенной прочности.
Думал делать с помощью массива, пробегаясь по одному и сравнивая с другим, условия и вуаля. Но вопрос в том, что для каждого веса, определенное название. Как мне выводить в конечном результате что то типа для такой то прочности нужен такой то - название, вес, скорость.
Буду очень благодарен.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
27.03.2017, 22:44
Ответы с готовыми решениями:

Как сравнивать объекты enum?
Доброго времени суток. Подскажите, пожалуйста, как можно реализовать сравнение элементов перечисления (enum)? Пробовал сделать так: ...

Как правильно сравнивать объекты?
Есть такой код поиска public ActionResult PhoneDirectory(string nameText, string surnameText) { ...

Как уничтожать динамические объекты и вообще объекты, если это необходимо сделать в их процедурах?
Создать отдельную процедуру CloseObject(Object: TObject) и вызывать ее в конце процедуры или так тоже нельзя? А то бесят эти access...

6
Эксперт JS
2463 / 1769 / 625
Регистрация: 11.07.2016
Сообщений: 4,067
28.03.2017, 09:38
Не понятно... У вас есть точная модель входных данных и хотя бы примерный алгоритм их обработки?
0
94 / 67 / 23
Регистрация: 22.09.2013
Сообщений: 626
28.03.2017, 13:16  [ТС]
Balanaar, Да, чутка запутано объяснил.
Разобрался с заданием, суть была такова. Мы вводим динамически значения вес и дистанцию, далее подбираем нужный нам по грузоподъемности кран и выводим его название. Сделал это, дав объекту свойства, свойства были функциям и которые имели некий массив данных. Далее прогонял это все циклом и сравнивал с исходными значениями.

Не совсем возможно правильно объясняю и делаю, в js 2 дня.

если что код

JavaScript
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
;function someFunc() {
  var weight = document.getElementById("weight").value;
  var high = document.getElementById("high").value;
  var rez;
  var crane = {
    name : function regName(x) {
      var ar = ["КП-1550",
                "КП-0042",
                "КП-0070",
                "КПМ-0215",
                "КПМ-0315",
                "КПМ-0220"];
                return ar[x];
    },
    weight: function regWeight(x) {
      var ar = [50,
                42,
                70,
                15,
                15,
                20];
                return ar[x];
    },
    distance: function regDistance(x) {
      var ar = [12,
                12,
                8,
                25,
                26,
                20];
                return ar[x];
    }
  };
  for (var i = 0; i < 6; i++) {
    if (weight < crane.weight(i) & high < crane.distance(i)){
      var rez = "Чтобы передвинуть груз массой " + weight +
      " тонн на расстояние " + high +
      " м нужен кран марки " + crane.name(i);
      document.querySelector('.rez').innerHTML +=rez + '</br>';
    }else{
      document.querySelector('.rez').innerHTML = " такого крана нет ";
    }
  }
 
 
}
0
 Аватар для arcmag
347 / 322 / 203
Регистрация: 27.06.2014
Сообщений: 762
28.03.2017, 14:25
То есть пользователь должен ввести вес и какую то дистанцию груза, после чего функция должна вернуть наименование типа крана которые подходит для работы с таким грузом?
1
 Аватар для diadiavova
7261 / 2608 / 745
Регистрация: 11.04.2015
Сообщений: 4,155
Записей в блоге: 43
28.03.2017, 14:34
zme9, логичнее было создать объекты кранов, каждый из который содержал бы сведения об одной модели и искать среди них
PHP/HTML
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
    weight <input type="text" id="weight" /><br />
    high <input type="text" id="high" /><br />
    <button onclick="findCrane();">Sow crane info</button>
    <div id="rez"></div>
    <script>
        function Crane(name, weight, distance)
        {
            this.name = name;
            this.weight = weight;
            this.distance = distance;
            this.html = function ()
            {
                return "Чтобы передвинуть груз массой " + this.weight +
                    " тонн на расстояние " + this.distance +
                    " м нужен кран марки " + this.name;
            }
 
            return this;
        }
 
        var crane =
            [
                new Crane("КП-1550", 50, 12),
                new Crane("КП-0042", 42, 12),
                new Crane("КП-0070", 70, 8),
                new Crane("КПМ-0215", 15, 25),
                new Crane("КПМ-0315", 15, 26),
                new Crane("КПМ-0220", 20, 20)
            ];
 
        function findCrane()
        {
            var weight = parseInt(document.getElementById("weight").value);
            var high = parseInt(document.getElementById("high").value);
            var result = crane.find(c => { return weight < c.weight && high < c.distance });
            document.getElementById("rez").innerHTML = !!result ? result.html() : " такого крана нет ";
        }
 
    </script>
Я здесь реализовал ту же логику, что и у тебя, но в ней есть проблема: параметры некоторых кранов полностью перекрывают параметры других и расположение их в массиве кранов таково, что есть модели, которые не будут выданы ни при каких обстоятельствах. Например: кран КП-0042 ни при каких параметрах получен быть не может, вместо него всегда будет показываться КП-1550. Так что логику поиска нужной модели надо еще доработать.
1
 Аватар для arcmag
347 / 322 / 203
Регистрация: 27.06.2014
Сообщений: 762
28.03.2017, 14:43
Ну или вот как вариант
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function getCranByParam (weight, distance) {
  var crane = [
    {name: "КП-1550",  weight: 50, distance: 12},
    {name: "КП-0042",  weight: 42, distance: 12},
    {name: "КП-0070",  weight: 70, distance: 8},
    {name: "КПМ-0215", weight: 15, distance: 25},
    {name: "КПМ-0315", weight: 15, distance: 26},
    {name: "КПМ-0220", weight: 20, distance: 20}
  ];
  
  for (var i = 0; i < crane.length; i++) 
    if(crane[i].weight >= weight && crane[i].distance >= distance) return crane[i].name;
  return "Крана с требуемыми параметрами не найдено!"
}
 
console.log(getCranByParam(12, 27));
1
94 / 67 / 23
Регистрация: 22.09.2013
Сообщений: 626
28.03.2017, 14:55  [ТС]
arcmag, да.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
28.03.2017, 14:55
Помогаю со студенческими работами здесь

Функция создает объекты и указателями на них заполняет массив. При выходе из функции вызываются деструкторы объектов. Как сохранить объекты?
Вопрос прост: как при выходе из функции сохранить объекты, которые были созданы в данной функции (указатели объектов положены в массив)?

Как сравнивать строки
Я ввожу в Text2 слово Вашингтон и в коде пишу If Text2.Text = &quot;Вашингтон&quot; Then k = 1 End If изначально k = 0 , но он у меня...

как сравнивать даты?
Имеется текстовый файл, в нем список учебных дней когда есть математика, в формате &quot;дд/мм/гг,дд/мм/гг,дд/мм/гг,&quot; и т.д. и даты...

Как сравнивать 2 текста?
У меня есть 2 текстовых файлов.В етих файлах одиноковые слова, только в одном ети слова начинаютса с большими буквами в другой с маленькими...

Как сравнивать строки?
где ошибка? if ((textBox1.Text + textBox1.Text) = (textBox2.Text)) { button2.BackColor = Color.Green; ...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
1С: Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru