Дана строка текста. Известно, что в ней есть один элемент равный ‘*’ и один элемент равный ‘#’. Найти где они находятся, и упорядочить по алфавиту символы, расположенные между ними — Pascal(Паскаль)

uses crt;
var a:string;
    i,j,i1,i2,k1,k2:byte;
    c:char;
begin
clrscr;
k1:=0;k2:=0;
repeat
writeln('Введите строку содержащую по одному символу * и #:');
readln(a);
for i:=1 to length(a) do
 begin
  if a[i]='*' then k1:=k1+1;
  if a[i]='#' then k2:=k2+1;
 end;
if(k1<>1)or(k2<>1) then writeln('Строка введена неверно!');
until(k1=1)and(k2=1);
writeln;
i1:=pos('*',a);
i2:=pos('#',a);
if i1<i2 then
for i:=i1+1 to i2-1 do
for j:=i+1 to i2-1 do
if a[i]>a[j] then
 begin
  c:=a[i];
  a[i]:=a[j];
  a[j]:=c;
 end
else
for i:=i2+1 to i1-1 do
for j:=i+1 to i1-1 do
if a[i]>a[j] then
 begin
  c:=a[i];
  a[i]:=a[j];
  a[j]:=c;
 end;
write(a);
readln
end.

Leave a Comment

+ 30 = 40