Мудреная схема, надеюсь, что правильно
<em>// PascalABC.NET 3.2, сборка 1387 от 20.02.2017</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
begin
var aw:=ReadlnString('Введите строку:').ToWords;
var w:=ReadlnString('Введите искомое слово:');
var i:=aw.FindIndex(e->e=w);
var s:string;
if i>-1 then
if i=aw.Count-1 then s:=aw[:i].JoinIntoString
else s:=(aw[:i]+aw[i+1:]).JoinIntoString
else s:=aw.JoinIntoString;
s.Println
end.
<u>Замечание:</u>
Учитываются именно <u>слова</u>, а не контекст, т.е. слово должно отделяться от остальной части строки пробелом, либо признаками начала/конца строки.
6384 Кбайт = 6384/1024 Кбайт = 6,234375 Кбайт
Program n1;
const n=20;
var a: array[1..n] of integer;
i,kn,ko,kp: integer;
function max(a,b,c: integer): string;
begin
max:=' ';
if (a>b) and (a>c) then max:='0 больше'
else if (b>c) and (b>a) then max:='отрицательных больше'
else if (c>a) and (c>b) then max:='положительных больше'
else if (a=c) and (c=b) then max:='количество всех элементов одинаковое'
else if a=b then max:='0 и отрицательных поровну'
else if b=c then max:='положительных и отрицательных поровну'
else if a=c then max:='0 и положительных поровну'
else max:='ошибка';
end;
begin
randomize;
write('исходный массив: ');
kn:=0;
kp:=0;
ko:=0;
for i:=1 to n do
begin
a[i]:=random(3)-1;
write(a[i],' ');
if a[i]>0 then kp:=kp+1
else if a[i]<0 then ko:=ko+1
else kn:=kn+1;
end;
writeln;
write(max(kn,ko,kp));
end.