Реклама на сайте DatasheetsDatasheets

KAZUS.RUN - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Книги и журналы
FAQ по электронике

  Datasheets
Поиск SMD
Онлайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Схемы и проекты
Принципиальные схемы
  Программы
Каталог сайтов
Калькуляторы
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

Ответ
Опции темы

Как сравнить два массива корректно

Непрочитано 07.12.2010, 09:52   #11
_Artem_
Прохожий
 
Регистрация: 22.09.2006
Сообщений: 2
Сказал спасибо: 190
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
_Artem_ на пути к лучшему
По умолчанию Re: Как сравнить два массива корректно

PHP код:
unsigned char ArrayCheck(unsigned char *arr1, unsigned char *arr2, unsigned int Size)
{
unsigned int i;

    for( i=0; i‹Size; i++ )
    {
        if( arr1[i] != arr2[i]) return 0;
    }
    return 1;
}

// Или часть кода в одну строчку
for( i=0; i‹Size; i++ ) if( arr1[i] != arr2[i]) return 0; 
Реклама:
_Artem_ вне форума   Ответить с цитированием
Непрочитано 07.12.2010, 12:16   #12
Гость
 
Сообщений: n/a
По умолчанию Re: Как сравнить два массива корректно

у меня такое ощущение, что это тролль

я так понял, нужно решение на с?
проще всего с помощью
Код:
bool res = !memcmp(e, r, sizeof(*e) * size);
для цикла по идее нужен барьер.
но цикл такой
Код:
size_t size = 15;
bool res = 1;
for(int i = size; i-- && (res = e[i] == r[i]); );
  Ответить с цитированием
Непрочитано 07.12.2010, 12:51   #13
Alpet75
Временная регистрация
 
Регистрация: 08.10.2010
Сообщений: 68
Сказал спасибо: 4
Сказали Спасибо 12 раз(а) в 9 сообщении(ях)
Alpet75 на пути к лучшему
По умолчанию Re: Как сравнить два массива корректно

а если просто сравнить две области памяти (например на контрольные суммы)? можно на контрольные суммы. Я так понимаю они строго определены.
Alpet75 вне форума   Ответить с цитированием
Непрочитано 07.12.2010, 16:10   #14
projects.org.ua
Заблокирован
 
Регистрация: 15.10.2010
Адрес: Kiev/Kharkov
Сообщений: 133
Сказал спасибо: 15
Сказали Спасибо 21 раз(а) в 21 сообщении(ях)
projects.org.ua на пути к лучшему
По умолчанию Re: Как сравнить два массива корректно

Сообщение от Alpet75 Посмотреть сообщение
а если просто сравнить две области памяти (например на контрольные суммы)? можно на контрольные суммы. Я так понимаю они строго определены.
для этих целий есть готовые функции, например массивы строковые - strcmp и ей подобные, для бинарных тоже есть, ранее уже писали memcmp
projects.org.ua вне форума   Ответить с цитированием
Ответ


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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
FAQ (ЧаВО) по PROTEUS для начинающих и не только dosikus Proteus 221 07.03.2024 22:45
Глушилка громкой музыки у соседей VVK Отвлекитесь, эмбеддеры! 355 10.01.2019 20:09
[Решено] Как внедрялась АСУ chermnv Отвлекитесь, эмбеддеры! 743 14.02.2010 23:11
[Решено] Третье Послание Человечеству lelkanet Отвлекитесь, эмбеддеры! 201 06.01.2010 00:33


Часовой пояс GMT +4, время: 18:11.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.