• Дан стек символов. Преобразовать стек, оставив в нем из группы подряд идущих символов только один - Delphi

    procedure TForm1.Button4Click(Sender: TObject);
    var Buff: TNodePointer;
    x: TItem;
    i: Cardinal;
    begin
    i:=0;
    Buff:=Head;
    if(Buff^.Next=nil) then
    begin
    ShowMessage('В стеке один элемент!');
    exit;
    end;
    while Buff <> nil do
    begin
    if(Buff^.Data=Buff^.Next^.Data) then
    begin
    while (Buff^.Next<>nil) and (Buff^.Data=Buff^.Next^.Data) and not(isEmpty(Buff)) do
    begin
    pop(Buff^.Next,x);
    for i:=0 to StringGrid1.RowCount-2 do
    begin
    StringGrid1.Cells[0,i]:=StringGrid1.Cells[0,i+1]
    end;
    StringGrid1.RowCount:=StringGrid1.RowCount-1;
    end;
    end;
    Buff:=Buff^.Next;
    end;

    end;

    end.

    Помогите с данной задачей, в общем если ввести к примеру 1 2 3 4 5 5 5 5 , то останется 1 2 3 4 5, а если ввести 1 2 3 4 5 5 5 5 6, то остается 1 2 3 4 5 5, не знаю с чем связано. Скорее всего ошибка с выводом на StringGrid

    Так же прикладываю проект https://yadi.sk/d/C7AuwnlM3Gnf8Y

Ответы 1

  • Спасибо огромное, все работает)
  • Добавить свой ответ

Еще вопросы

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years