Var s,st: string; a: array[1..255] of integer; i: integer; begin write('строка: '); readln(s); for i:=1 to 255 do a[i]:=0; for i:=1 to length(s) do inc(a[ord(s[i])]); st:=''; for i:=1 to length(s) do if ((a[ord(s[i])]>=2) and (s[i] in ['а'..'я'])) then continue else st:=st+s[i]; writeln('новая строка: ',st); end.
строка: Это строка для проверки. новая строка: Э са для пвеи.
Если нужно, чтобы не различались прописные и строчные буквы, то другой вариант программы:
var s: string; a: array[1..255] of integer; i,j: integer; begin write('строка: '); readln(s); for i:=1 to 255 do a[i]:=0; for i:=1 to length(s) do if ord(s[i])>32 then begin inc(a[ord(s[i])]); if s[i] in ['а'..'я'] then inc(a[ord(UpperCase(s[i]))]) else if s[i] in ['А'..'Я'] then inc(a[ord(LowerCase(s[i]))]); end; j:=0; for i:=1 to length(s) do if (a[ord(s[i])]>=2) then continue else begin inc(j); s[j]:=s[i]; end; delete(s,j+1,length(s)-j); writeln('новая строка: ',s); end.
// PascalABC.NET 3.0, сборка 1157 от 02.02.2016 begin var n:=ReadInteger('n='); if n<0 then Writeln(n,'! не определено: n<0') else if n=0 then Writeln('0!=1') else begin var p:BigInteger:=1; for var i:=2 to n do p*=i; Writeln(n,'!=',p) end end.
// PascalABC.NET 3.0, сборка 1157 от 02.02.2016 begin var a:array[1..20] of integer; Randomize; for var i:=1 to 20 do a[i]:=Random(-50,50); a.Println; var b:=Range(2,20,2).Select(i->a[i]); Writeln('Элементы с четными индексами по возрастанию'); b.Sorted.Println; Writeln('Элементы с четными индексами по убыванию'); b.SortedDescending.Println; end.
Тестовое решение: -15 46 -34 -3 43 16 -17 -28 -19 12 -28 -11 48 -12 -1 33 -37 9 6 -40 Элементы с четными индексами по возрастанию -40 -28 -12 -11 -3 9 12 16 33 46 Элементы с четными индексами по убыванию 46 33 16 12 9 -3 -11 -12 -28 -40
a: array[1..255] of integer;
i: integer;
begin
write('строка: '); readln(s);
for i:=1 to 255 do a[i]:=0;
for i:=1 to length(s) do inc(a[ord(s[i])]);
st:='';
for i:=1 to length(s) do
if ((a[ord(s[i])]>=2) and
(s[i] in ['а'..'я'])) then continue
else st:=st+s[i];
writeln('новая строка: ',st);
end.
строка: Это строка для проверки.
новая строка: Э са для пвеи.
Если нужно, чтобы не различались прописные и строчные буквы, то другой вариант программы:
var s: string;
a: array[1..255] of integer;
i,j: integer;
begin
write('строка: '); readln(s);
for i:=1 to 255 do a[i]:=0;
for i:=1 to length(s) do
if ord(s[i])>32 then
begin
inc(a[ord(s[i])]);
if s[i] in ['а'..'я'] then inc(a[ord(UpperCase(s[i]))])
else if s[i] in ['А'..'Я'] then inc(a[ord(LowerCase(s[i]))]);
end;
j:=0;
for i:=1 to length(s) do
if (a[ord(s[i])]>=2) then continue
else
begin
inc(j);
s[j]:=s[i];
end;
delete(s,j+1,length(s)-j);
writeln('новая строка: ',s);
end.