Var s,st: string;
<span> a: array[1..255] of integer;
</span><span> i: integer;
</span><span>begin
</span><span> write('строка: '); readln(s);
</span><span> for i:=1 to 255 do a[i]:=0;
</span><span> for i:=1 to length(s) do inc(a[ord(s[i])]);
</span><span> st:='';
</span><span> for i:=1 to length(s) do
</span><span> if ((a[ord(s[i])]>=2) and
</span><span> (s[i] in ['а'..'я'])) then continue
</span><span> else st:=st+s[i];
</span><span> writeln('новая строка: ',st);
end.</span>
строка: Это строка для проверки.
новая строка: Э са для пвеи.
Если нужно, чтобы не различались прописные и строчные буквы, то другой вариант программы:
var s: string;
<span> a: array[1..255] of integer;
</span><span> i,j: integer;
</span><span>begin
</span><span> write('строка: '); readln(s);
</span><span> for i:=1 to 255 do a[i]:=0;
</span><span> for i:=1 to length(s) do
</span><span> if ord(s[i])>32 then
</span><span> begin
</span><span> inc(a[ord(s[i])]);
</span><span> if s[i] in ['а'..'я'] then inc(a[ord(UpperCase(s[i]))])
</span><span> else if s[i] in ['А'..'Я'] then inc(a[ord(LowerCase(s[i]))]);
</span><span> end;
</span><span> j:=0;
</span><span> for i:=1 to length(s) do
</span><span> if (a[ord(s[i])]>=2) then continue
</span><span> else
</span><span> begin
</span><span> inc(j);
</span><span> s[j]:=s[i];
</span><span> end;
</span><span> delete(s,j+1,length(s)-j);
</span><span> writeln('новая строка: ',s);
</span><span>end.
</span>
Я оформил каждое задание в отдельной функции. Пожалуйста, перед сдачей проверь на правильность выполнения т.к. у меня нет среды разработки и компилятора)) Перепрофилировался в джаву с питоном))
Procedure TForm1.Button4Click(Sender: TObject);
var Buff: TNodePointer;
x: TItem;
i,j: Cardinal;
begin
i:=0;
Buff:=Head;
if(Buff^.Next=nil) then
begin
ShowMessage('В стеке один элемент!');
exit;
end;
while Buff <> nil do
begin
while (Buff^.Next<>nil) and (Buff^.Data=Buff^.Next^.Data) and not(isEmpty(Buff)) do
begin
pop(Buff^.Next,x);
for j:=i to StringGrid1.RowCount-2 do
StringGrid1.Cells[0,j]:=StringGrid1.Cells[0,j+1];
StringGrid1.RowCount:=StringGrid1.RowCount-1;
end;
Buff:=Buff^.Next;
i:=i+1;
end;
end;
PS. Delphi у меня сейчас нет, так что проверяйте сами. Если что не так - сообщайте.
Var n:integer;beginreadln(n);if n>0 then writeln(1);if n<0 then writeln(-1);if n=0 then writeln(0);end.
у тебя всё получится не сомневайся хахапха