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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 10.10.2010, 14:42
dubfire dubfire вне форума
Прохожий
 
Регистрация: 10.10.2010
Сообщения: 14
Репутация: 10
Печаль Помоготе плз

Дана строка символов, состоящая из групп нулей и единиц, разделенных пробелами. Найти количество групп с пятью символами.


Подскажите,я новичок со строками слабенько)
Ответить с цитированием
  #2  
Старый 10.10.2010, 14:53
Аватар для Uniq!
Uniq! Uniq! вне форума
Местный
 
Регистрация: 29.09.2010
Сообщения: 539
Версия Delphi: Delphi XE3
Репутация: 374
По умолчанию

А можно пример строки?
Ответить с цитированием
  #3  
Старый 10.10.2010, 15:15
dubfire dubfire вне форума
Прохожий
 
Регистрация: 10.10.2010
Сообщения: 14
Репутация: 10
По умолчанию

ну как я понимаю такого плана
01001 0101 10101 01
и нужну вывести сколько групп с пятью символами
Ответить с цитированием
  #4  
Старый 10.10.2010, 15:22
Аватар для v1s2222
v1s2222 v1s2222 вне форума
Продвинутый
 
Регистрация: 07.09.2010
Сообщения: 726
Репутация: 26711
По умолчанию

Код:
var
  s: string; // ваша строка
  i: Integer;
  kol: Integer;
  otvet: Integer;
begin
  s:='01 11111 0101 1001...';
  otvet := 0;
  kol := 0;
  for i:=1 to Length(s) do
    if(s[i] = '0') or (s[i] = '1') then begin
      inc(kol);
      if(kol = 5) then
        inc(otvet);
    end
    else
      kol := 0;
//otvet - кол-во груп с 5ю символами

  ShowMessage('Кол-во груп с 5ю символами = ' + IntToStr(otvet));

ЗЫ это не идеальный вариант, написал то что пришло в голову первым..
__________________
Помогаю за Спасибо

Последний раз редактировалось v1s2222, 10.10.2010 в 15:25.
Ответить с цитированием
  #5  
Старый 10.10.2010, 15:26
Аватар для Uniq!
Uniq! Uniq! вне форума
Местный
 
Регистрация: 29.09.2010
Сообщения: 539
Версия Delphi: Delphi XE3
Репутация: 374
По умолчанию

http://delphibasics.ru/AnsiPos.php
Вот эта ссылка + алгоритмика:

пройтись циклом по строке


Код:
var 
 str:string;
begin
str:='01001 0101 10101 01 ';

For i:=1 to length(str) do
 begin
  if str[i]<>' 'then k:=k+1
   else if k=5 then 
   begin
    count:=count+1;
    k:=0;
 end;

к - переменная подсчёт символов от пробела до пробела
count - кол-во подстрок длинной в 5ть символов

В цикле организовать поиск "пробелов" и подсчёт знаков до ближайшего найденного.

Писал на коленке. 100пудова надо доводить до ума
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

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

ВКонтакте   Facebook   Twitter