var
a: array [1..4] of char;
s: string;
i: byte := 1;
begin
readln(s);
while (i < length(s)) do
begin
if ((not(s[i] in ['ж', 'ч', 'ш', 'щ'])) or (pos(s[i], s) > i)) then
delete(s, i, 1)
else
i += 1;
end;
writeln(s);
end.
Суть в том, чтобы удалить все нешипящие буквы, а также повторы шипящих, после чего просто вывести строку
<h3>PascalABC.NET 3.4.2, сборка 1864 от 11.11.2018</h3><h3>Внимание! Если программа не работает, обновите версию!</h3>
begin
var a := ArrRandom(10, -10, 10);
a.Println;
var i := a.IndexMax;
Writeln('максимальный a[', i + 1, ']=', a[i]);
i := a.IndexMin;
Writeln('минимальный a[', i + 1, ']=', a[i])
end.
<h2>-2 0 -3 0 3 -2 1 -9 -9 -2</h2><h2>максимальный a[5]=3</h2><h2>минимальный a[8]=-9</h2>
Uses crt;
var a : array [1..10, 1..10] of integer ;
i,j,n,m:byte;
min,s:integer;
begin
s:=1;
randomize;
writeln('Введи кол-во строк(<10)');
readln(n);
writeln('Введи кол-во столбцов(<10)');
readln(m);
for j:=1 to m do
for i:=1 to n do begin
a[i,j]:=random(100);
gotoxy((i-1)*5+1,j+5);
writeln(a[i,j]);
end;
for i:=1 to m do begin
min:=a[1,i];
for j:=1 to n do if a[j,i]<min then min:=a[j,i];
gotoxy((i-1)*3+1,i+12);
write('min в ',i,' строке равен ',min);
s:=min*s;
end;
gotoxy(1,23);
writeln(s);
<span>end.</span>