Здравствуйте, уважаемые форумчане. Помогите пожалуйста разобраться с заданием по строковым типам данных.
Задание:
Дана строка, состоящая из групп нулей и единиц. Каждая группа отделяется от другой одним или несколькими пробелами. Найти количество групп с 5 символами.
Моя версия алгоритма:
Код:
begin
n:=0;
probel:=0;
label1.text:="vvedite stroku!";
stroka:=messagebox1.text;
kol_nulei_v_gruppe:=0;
kol_edinic_v_gruppe:=0;
kol_nulevix_grup:=0;
kol_edini4nix_grup:=0;
//самый большой общий цикл-
while length(stroka)>0 do
begin
// здесь считаю группы из нулей-
repeat
if (pos(' ',stroka))<>1 then begin
while (pos('0',stroka)=1) and (length(stroka)>0) do
kol_nulei_v_gruppe:=kol_nulei_v_gruppe+1;
until kol_nulei_v_gruppe=5; kol_nulevix_grup:=kol_nulevix_grup+1; end;
//здесь считаю группы из единиц-
repeat
if (pos(' ',stroka))<>1 then begin
while (pos('1',stroka)=1) and (length(stroka)>0) do
kol_edinic_v_gruppe:=kol_edinic_v_gruppe+1;
until kol_nulei_v_gruppe=5; kol_edini4nix_grup:=kol_edini4nix_grup+1; end;
end;
//в конце пытаюсь подсчитать сколько всего групп получилось ->
obwee_kol_grup:=kol_nulevix_grup+kol_edini4nix_grup;
Admin: Пользуемся тегами!
//ну далее делаю вывод требуемого количества. можно ли как нибудь "упростить" алгоритм, господа? Спасибо за внимание.