![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Здравствуйте, уважаемые форумчане. Помогите пожалуйста разобраться с заданием по строковым типам данных.
Задание: Дана строка, состоящая из групп нулей и единиц. Каждая группа отделяется от другой одним или несколькими пробелами. Найти количество групп с 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, 12.11.2010 в 22:36. |