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

Сокращение расстояния Хэмминга - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Нажно написать программу на языке програм С "моделирование движения" http://www.cyberforum.ru/cpp/thread228251.html
Нужно написать программу моделирующую движение спутника вокруг планеты. Грубо говоря написать программу в которой будет один объект вращаться вокруг второго. Писать можно любыми способами но: программа должно быть написана на языке С а не С++ спутник не вращается вокруг своей оси,планета не вращается вокруг своей оси, спутник вращается только вокруг планеты, вращение происходит в 1 плоскости...
C++ Про CRC32 Народ, кто шарит в CRC, помогите. Прогу надо доделать или переделать, может у кого-нибудь рабочий вариант есть? Тестировалось в MV C++ 6. Bulder C++ 6. Borland 3.1. везде одни и теже ошибки #include <stdio.h> #include <string.h> #include <conio.h> void Update_CRC(char in, char *crc) { #define POLYNOMIAL 0xEDB88320//Полином *crc = *crc^in; http://www.cyberforum.ru/cpp/thread228100.html
C++ Работа с изображениями
Добрый день! Есть тут знающие как работать с изображениями (Масштабировать, скопировать/вставить, обрезать). А то что-то не могу ни как разобраться. Может книги какие кто знает :)
C++ Программа завершения процесса
Возможно ли написать программу, чтобы завершить процесс mail.ru agenta? Да, и если возможно, из другого пк. (через сетку). Если есть такая, выложите пожалуйста, очень надо.
C++ Не получается разрешить доступ к интернету http://www.cyberforum.ru/cpp/thread226820.html
Не получается разрешить доступ к интернету через LAN другому компьютеру
C++ Irrlicht Доброго времени суток. Проблема состоит в том, что при загрузке движка Irrlicht все в порядке, а при прописывании программе через какой путь ей надо пройти, чтобы обратиться к классу, показывает, что что-то не так. Не смотря на это, программа какое-то время правильно функционирует, но не создает экзешник, спустя еще несколько дней она просто отказывается работать и предлагает попробовать... подробнее

Показать сообщение отдельно
lemegeton
2923 / 1352 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
14.01.2011, 19:36
Уменьшить метрику между числами можно с помощью простейших логических операций.

C++
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
#include <cstdio>
#include <cstddef>
#include <cstdlib>
#include <ctime>
 
size_t CountDefferentBits(const size_t a, const size_t b) {
  size_t different_bits = a ^ b;
  size_t result = 0;
  while (different_bits > 0) {
    result += (different_bits & 1);
    different_bits >>= 1;
  }
  return result;
}
 
int main(int argc, char *argv[]) {
  srand(time(NULL));
  size_t a = rand()%65535;
  size_t b = rand()%65535;
 
  // уменьшение расстояния Хэмминга
  size_t c = a | (a ^ b);
 
  printf("Metrix(%d, %d) = %d\n", a, b, CountDefferentBits(a, b));
  printf("Metrix(%d, %d) = %d\n", c, b, CountDefferentBits(c, b));
  return 0;
}
Добавлено через 23 минуты
Цитата Сообщение от Molotoff Посмотреть сообщение
Причем, это должен быть один или n бит, выбранные случайным образом
Пардон, не заметил.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru