Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 01.11.2010, 20:24
skif443 skif443 вне форума
Прохожий
 
Регистрация: 01.11.2010
Сообщения: 3
Репутация: 10
Восклицание Подсчет количества совпадений!

Добрый вечер! Очень нужна ваша помощь. Я пишу проектную работу по кластеризации. Мне на данном этапе необходимо реализовать несколько тестов. Первый - тест на схожесть. В нем требуется посчитать количество совпадений в векторе-прототипе и векторе-признаков. Тобишь допустим 1 вектор: 010, второй вектор: 110. Здесь кол-во совпадений 1/1 =1. Как эту операцию сделать программно на Delphi?

И второй вопрос. Как программно посчитать количество цифр в числе? Я пытался делть через div, но неверно считает( Что не так?
Код:
  begin
vprototype:=011;
vsign:=010;
B:=1.0;
d:=3;
k:=1;
while vprototype<>0 do
begin
  vprototype:=vprototype div 10;
  k:=k+1;
  label5.caption:=InttoStr (k);
end;
if 1/(B+2)>1/(b+d) then result1:=1 else result1:=0;
if result1=1 then label2.Caption:=label2.Caption + ' Success' else
if result1=0 then label2.Caption:=label2.Caption + ' Fail';
Admin: Пользуемся тегами!

Последний раз редактировалось Admin, 01.11.2010 в 20:50.
Ответить с цитированием
  #2  
Старый 01.11.2010, 20:28
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

На мой взгляд, посчитать количество цифр проще так:
Код:
Count := Length('123456');
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #3  
Старый 01.11.2010, 21:35
skif443 skif443 вне форума
Прохожий
 
Регистрация: 01.11.2010
Сообщения: 3
Репутация: 10
По умолчанию

Ок, я новенький. Буду придерживаться правил
Ответить с цитированием
  #4  
Старый 02.11.2010, 00:32
skif443 skif443 вне форума
Прохожий
 
Регистрация: 01.11.2010
Сообщения: 3
Репутация: 10
По умолчанию

ЧТо-то я не понял код. Если мне нужно подсчитать кол-во цифр в переменной vsign. Я пишу:


Код:
begin
vprototype:=011;
vsign:=010;
B:=1.0;
d:=0;
k:=1;
{while vprototype<>0 do
begin
  vprototype:=vprototype div 10;
  d:=d+1;
  label5.caption:=InttoStr (k);
end;    }
D := Length(inttostr(vsign));
label5.caption:=InttoStr (d);
if 1/(B+2)>1/(b+d) then result1:=1 else result1:=0;
if result1=1 then label2.Caption:=label2.Caption + ' Success' else
if result1=0 then label2.Caption:=label2.Caption + ' Fail';

Он мне неверно выдает кол-во цифр. Должно быть 3, а он 2 пишет. Что не так.

Последний раз редактировалось skif443, 02.11.2010 в 00:43.
Ответить с цитированием
  #5  
Старый 02.11.2010, 02:36
Аватар для PhoeniX
PhoeniX PhoeniX вне форума
Always hardcore!
 
Регистрация: 04.03.2009
Адрес: СПб
Сообщения: 3,239
Версия Delphi: GCC/FPC/FASM
Репутация: 62149
По умолчанию

Что? Начальный ноль как Delphi, так и процессор, не волнует
__________________
Оставайтесь хорошими людьми...
VK id2634397, ds [at] phoenix [dot] dj
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 03:35.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025