Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 11

Тема: Работа с массивами

  1. #1
    Пользователь
    Регистрация
    11.05.2012
    Адрес
    Москва
    Сообщений
    66

    По умолчанию Работа с массивами

    Не смог быстро найти на форуме имеющиеся статьи по данному вопросу, поэтому пишу.
    Подскажите, как можно сравнить значения массивов, не прибегая к помощи, написанным с помощью циклов ФБ?
    Надеюсь вопрос понятен.

  2. #2

    По умолчанию

    Цитата Сообщение от Андрей007 Посмотреть сообщение
    Не смог быстро найти на форуме имеющиеся статьи по данному вопросу, поэтому пишу.
    Подскажите, как можно сравнить значения массивов, не прибегая к помощи, написанным с помощью циклов ФБ?
    Надеюсь вопрос понятен.
    Кто ясно мыслит, тот ясно излагает и наоборот ? У тебя, по моему, наоборот.

  3. #3
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    2,251

    По умолчанию

    if sysmemcmp(adr(массив1),adr(массив2),sizeof(массив1 )) <> 0 then ... //не равны

  4. #4
    Пользователь
    Регистрация
    11.05.2012
    Адрес
    Москва
    Сообщений
    66

    По умолчанию

    Я больше всего на этом форуме не понимаю подобное трепло, вроде Вольда.
    Если есть, что написать по вопросу пиши, а нет иди трепись с подобными себе "наоборотами".

    Я же написал, что не используя циклы.
    Я знаю как при их помощи это сделать, не недавно натолкнулся на интересные примеры с использованием POINTER TO ARRAY,
    но не очень понял логику их работы, вот и решил послушать кто, что может подсказать.

  5. #5
    Пользователь
    Регистрация
    11.05.2012
    Адрес
    Москва
    Сообщений
    66

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    if sysmemcmp(adr(массив1),adr(массив2),sizeof(массив1 )) <> 0 then ... //не равны
    А это какая библеотека?
    Или это встроенная функция?

  6. #6
    Пользователь
    Регистрация
    11.05.2012
    Адрес
    Москва
    Сообщений
    66

    По умолчанию

    Данная функция сравнивает их размеры а не данные.
    Я имел ввиду не равенство данных внутри массива.

  7. #7
    Пользователь Аватар для petera
    Регистрация
    06.05.2011
    Адрес
    Минск
    Сообщений
    3,841

    По умолчанию

    Цитата Сообщение от Андрей007 Посмотреть сообщение
    Данная функция сравнивает их размеры а не данные.
    Я имел ввиду не равенство данных внутри массива.
    Именно проверяет равенство данных внутри массивов
    Захват-1.png
    Для сравнения длины массивов достаточно было бы просто сравнить их длину sizeof(массив1 ) и sizeof(массив2 )
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  8. #8
    Пользователь
    Регистрация
    11.05.2012
    Адрес
    Москва
    Сообщений
    66

    По умолчанию

    Благодарю за ответ.
    Всё работает. Спасибо.

  9. #9
    Пользователь
    Регистрация
    13.10.2011
    Адрес
    Златоуст
    Сообщений
    1,021

    По умолчанию

    массив заполненный не с начала и не до конца
    Я долго пытался распарсить эту формулировку. Имеется в виду массив с ненулевой нижней границей? Но тогда что значит «не до конца»? Массивы всегда заполнены целиком по определению.

    Может, требуется определить A и B из arr: ARRAY[A..B] OF T? Но в языках 61131-3, во-первых, нет интроспекции; а во-вторых, A и B уже известны в любом контексте на этапе компиляции. Если проблема в том, что приходится указывать A и B несколько раз, сделайте их VAR CONSTANT.

  10. #10
    Пользователь
    Регистрация
    11.01.2009
    Адрес
    Кострома
    Сообщений
    3,144

    По умолчанию

    Обнуляем некую переменную и переменную номер в структуре.
    Циклически проверяем наличие в х,y,z нуля.
    Если есть, увеличиваем некую переменную на один.
    примерно так:

    n:=0;
    cn:=0;
    FOR cN:= 0 TO 999 DO (*начинаем поиск*)
    IF ARX[cN].Х=0 AND
    ARX[cN].Y AND
    ARX[cN].Z=0 THEN (*Если нашли,то*)
    n:=N+1;
    END_IF
    cn:=cN+1;
    END_FOR

Страница 1 из 2 12 ПоследняяПоследняя

Похожие темы

  1. Работа с массивами
    от Леонид в разделе ПЛК1хх
    Ответов: 31
    Последнее сообщение: 30.05.2020, 23:13
  2. CoDeSys работа с массивами.
    от Роман26 в разделе Эксплуатация
    Ответов: 13
    Последнее сообщение: 10.08.2019, 07:52
  3. Работа с рецептами
    от Aleksandr в разделе ПЛК1хх
    Ответов: 3
    Последнее сообщение: 23.01.2012, 13:36
  4. Работа с массивами
    от MerlinLegacy в разделе ПЛК1хх
    Ответов: 2
    Последнее сообщение: 08.08.2011, 14:41
  5. подскажите по работе с массивами
    от alexval2006 в разделе ПЛК1хх
    Ответов: 4
    Последнее сообщение: 11.03.2010, 15:36

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •