Паскаль. Строки.

  • Автор темы MonEnnemi
  • Дата начала
M

MonEnnemi

#1
Очень нужна помощь в строках)

Есть задание:
Удалить в строке слова, которые встречаются в ней указанное число раз.

При этом такой вариант написания программы не подходит, потому что сравнивает слова поэлементно:

Код:
program stroka;
uses crt;
var a:string;
b:array[1..60]of string;
i,k,n,t,m,j:byte;
begin
clrscr;
writeln('vvedite stroku');
readln(a);
writeln('vvedite chislo');
readln(n);
a:=' '+a+' ';
for i:=1 to length(a) do
if a[i]=' 'then inc(k)else b[k]:=b[k]+a[i];
for i:=1 to k do
begin
m:=0;
for j:=1 to k do
if b[i]=b[j] then inc(m);
if m=n then
begin
for t:=length(a)downto 1 do
if copy(a,t,length(b[i])+2)=' '+b[i]+' ' then delete(a,t,length(b[i])+1);
end;
end;
writeln(a);
readln;
end.
Помогите, пожалуйста)
 
I

isqoff

#2
прикольное задание...Поэлементно и не получиться , т.к. работаем со словами...(скорее проверять по "словно") :newconfus:)