С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Нажно написать программу на языке програм С "моделирование движения" http://www.cyberforum.ru/cpp/thread228251.html
Нужно написать программу моделирующую движение спутника вокруг планеты. Грубо говоря написать программу в которой будет один объект вращаться вокруг второго. Писать можно любыми способами но:...
C++ Про CRC32 Народ, кто шарит в CRC, помогите. Прогу надо доделать или переделать, может у кого-нибудь рабочий вариант есть? Тестировалось в MV C++ 6. Bulder C++ 6. Borland 3.1. везде одни и теже ошибки... http://www.cyberforum.ru/cpp/thread228100.html
C++ Работа с изображениями
Добрый день! Есть тут знающие как работать с изображениями (Масштабировать, скопировать/вставить, обрезать). А то что-то не могу ни как разобраться. Может книги какие кто знает :)
C++ Программа завершения процесса
Возможно ли написать программу, чтобы завершить процесс mail.ru agenta? Да, и если возможно, из другого пк. (через сетку). Если есть такая, выложите пожалуйста, очень надо.
C++ Не получается разрешить доступ к интернету http://www.cyberforum.ru/cpp/thread226820.html
Не получается разрешить доступ к интернету через LAN другому компьютеру
C++ Irrlicht Доброго времени суток. Проблема состоит в том, что при загрузке движка Irrlicht все в порядке, а при прописывании программе через какой путь ей надо пройти, чтобы обратиться к классу, показывает,... подробнее

Показать сообщение отдельно
taras atavin
3570 / 1754 / 91
Регистрация: 24.11.2009
Сообщений: 27,567
14.01.2011, 12:29
Ксоркой их, единицы в результате отметят позиции..
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
bool f(unsigned int *arr1, ansigned int *arr2, unsigned int l, unsigned int n)
{
 unsigned int size;
 unsigned int i, j;
 unsigned int metric;
 char *p1,*p2, buffer;
 unsigned int changed;
 ststic char masks[8]={0x01, 0x02, 0x04,0x08,0x10,0x20,0x40,0x80};
 size=l*sizeof(unsigned int);
 if (size/sizeof(unsigned int)==l)
 {
  for (metric=0, p1=(char *)arr1+size-1, p2=(char *)arr2+size-1; p1>=(vhar *)arr1; --p1, --p2)
  {
   buffer=*p1^p2;
   for (j=7; j>=0; --j)
   {
    if (buffer&masks[j])
    {
     ++metric;
     if (metric==0)
     {
      return false;
     }
    }
   }
  }
  while (n!=0)
  {
   for (p1=(char *)arr1+size-1, p2=(char *)arr2+size-1; p1>=(vhar *)arr1; --p1, --p2)
   {
    buffer=*p1^p2;
    for (j=7; j>=0; --j)
    {
     if (buffer&masks[j])
     {
      if ((rnd%metric)<n)
      {     
       *p2=(*p2&(!masks[j]))&(*p1&masks[j]);
       --metric;
       --n;
      }
     }
    }
   }
  }
  retrun true;
 }
 retrun false;
}
. Именно этот вариант может с небольшой вероятностью виснуть, попробуй придумать гарантированный вариант выбора n бит.

Добавлено через 1 минуту
Уменьшить метрику до нуля можно простым копирожанием.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.