profile
Размещено 5 лет назад по предмету Информатика от FunnyNeo

Суть задачи такова: Дана строка, состоящая из групп нулей и единиц. Каждая группа отделяется от другой одним или несколькими пробелами.Подсчитать количество символов в самой длинной группе.

Нашел вот такой исходник, пытался понять но так и не понял, объясните кто-нибудь код)

procedure TForm1.Button1Click(Sender: TObject);
var
s:string;
i,l,c,m:integer;
z,u:boolean;
begin
if combobox1.Text<>'' then
begin
s:=combobox1.Text;
combobox1.Items.Insert(0,s);
l:=length(s);
z:=false;
u:=false;
c:=0;
m:=0;
for i:=1 to l do
begin
if ((s[i]='0')and not z)or((s[i]='1')and not u)then
begin
if m end;
if ((s[i]='0')and not z) then
begin
u:=false;
z:=true;
c:=0;
end;
if ((s[i]='1')and not u) then
begin
u:=true;
z:=false;
c:=0;
end;
if ((s[i]='0')and z)or((s[i]='1')and u)then
c:=c+1;
end;
if m label1.Caption:='Количество символов в самой длинной группе: '+inttostr(m);
end;
end;

  1. Ответ на вопрос
    Ответ на вопрос дан petyaGavrikov
    Программа для случая, когда в строке только "0", "1" и пробелы (т.е. проверки корректности ввода нет):
    procedure TForm1.Button1Click(Sender: TObject);
    var
    s:string;
    i,k,max:integer;
    begin
    if combobox1.Text<>'' then
    begin
    s:=combobox1.Text;
    combobox1.Items.Insert(0,s);
    s:=s+' ';
    while pos('  ',s)>0 do delete(s,pos('  ',s),1);
    k:=0; max:=0;
    for i:=1 to length(s) do
      if s[i]<>' '
       then k:=k+1
       else begin
            if k>max then max:=k;
            k:=0;
            end;
    label1.Caption:='Количество символов в самой длинной группе: '+inttostr(max);
    end;
    end;
    1. Ответ на вопрос
      Ответ на вопрос дан FunnyNeo
      Вот эту строчку только плохо понял, можно объяснить? while pos(' ',s)>0 do delete(s,pos(' ',s),1)
Не тот ответ на вопрос, который вам нужен?
Найди верный ответ
Самые новые вопросы
tegysigalpa2012
Русский язык - 6 лет назад

Помогите решить тест по русскому языку тест по русскому языку «местоимение. разряды местоимений» для 6 класса 1. укажите личное местоимение: 1) некто 2) вас 3) ни с кем 4) собой 2. укажите относительное местоимение: 1) кто-либо 2) некоторый 3) кто 4) нам 3. укажите вопросительное местоимение: 1) кем-нибудь 2) кем 3) себе 4) никакой 4. укажите определительное местоимение: 1) наш 2) который 3) некий 4) каждый 5. укажите возвратное местоимение: 1) свой 2) чей 3) сам 4) себя 6. найдите указательное местоимение: 1) твой 2) какой 3) тот 4) их 7. найдите притяжательное местоимение: 1) самый 2) моего 3) иной 4) ничей 8. укажите неопределённое местоимение: 1) весь 2) какой-нибудь 3) любой 4) этот 9. укажите вопросительное местоимение: 1) сколько 2) кое-что 3) она 4) нами 10. в каком варианте ответа выделенное слово является притяжательным местоимением? 1) увидел их 2) её нет дома 3) её тетрадь 4) их не спросили

Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.