Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Проверка числа на симметричность


NickEr ©   (2007-09-21 03:44:00) 

Имеется выходное значение, например: res равное какому-то числу в двоичной системе счисления. Как определить симметричную ли последовательность цифр составляет данное число?


Slym   (2007-09-21 06:34:00) [1]

uses StrUtils;

function IsSymetricString(const Str:string):boolean;
var
 Str1,Str2:string;
 c:integer;
begin
 result:=false;
 if (length(Str) mod 2)<>0 then
   exit;
 c:=length(Str) div 2;
 Str1:=copy(Str,1,c);
 Str2:=copy(Str,c+1,c);
 Str2:=ReverseString(Str2);
 result:=(Str1=Str2);
end;

Usage:
if not IsSymetricString('11100111') then raise Exception.Create('Sorry...');


Slym   (2007-09-21 06:24:00) [2]

NickEr   (21.09.07 3:44)
симметричность - относится к строковому (символьному) представлению числа...
11100111 - симетрично, тоже число в деситичной системе - 231 нет, как и E7 (16'ричной)


MBo   (2007-09-21 05:32:00) [3]

проверять в цикле биты слева и справа


Наверх

Титульная страница Поиск, карта сайта Написать письмо