Евгения
Евгения

Хочу задать вопрос по множествам PascalABC.NET

Есть исходный текст, в нем 3 строки, каждая заканчивается точкой. Нужно определить кол-во слов в тексте, которые состоят из букв входящие только в заданное множество?

На
Наталья

вот вариант, (не самый оптимапьный, но.... )

program OTVET;
uses crt;
var s: string;
ml:set of char;
n,i:integer;
c:char;
function number(s:string):integer;
var i,j,k,nr:integer;
c:string;
f:boolean;
begin
i:=1;
s:=s+' ';
nr:=0;
while i begin
while (s[i]=' ') and (i<=length(s)) do inc(i);
if i begin
j:=i;
while not(s[i]=' ') do inc(i);
c:=copy(s,j,i-j);
f:=true;
for k:=1 to length(c) do
if not(c[k] in ml) then f:=false;
if f then inc(nr);
end;
end;
number:=nr;

end;
begin
writeln('colicestvo bucv v mnojestve:');readln(n);
for i:=1 to n do
begin
write('Bucva ',i,':');readln(c);
ml:=ml+[c];
end;
clrscr;
for i:=1 to 3 do
begin
write('Text nomer ',i,': ');readln(s);
writeln('Colicestvo slov :',number(s));

end;

end.

Ольга Веткина
Ольга Веткина

program slova ;
var s:string[255] ; l:array[1..128] of string [30];
p:array [1..50] of integer ;
p1:array [1..50] of integer ;
w,i,k,n,j,r:integer ;
m:set of char ;
c:char ;
begin
k:=1 ;
write('Введите количество символов :');
readln(n);
for i:=1 to n do begin
write(i,' символ ');
readln(c) ;
m:=m+[c]; end ;
writeln('Введите текст');
readln(s);
For i:=1 to Length(s) do begin
if s[i] in m then if j<>k then begin inc(r); j:=k; end else else
if s[i]='.' then begin inc(w); p[w]:=k; p1[w]:=r; r:=0; k:=0; j:=0; end else
if s[i]=' ' then inc(k) else if k=0 then inc(k) else l[k]:=l[k]+s[i];
end;
for i:=1 to w do
writeln('Строка №',i,' всего имеет ',p[i],' слов из них ',p1[i],' в множестве');
end .

Александр Ефремов
Александр Ефремов

for i := 1 to 3 do begin s := copy( s, 1, pos( '.', s ) ); split( s, strs ); for j := 1 to strs.Count-1 do begin fl := true; s2 := strs.Strings[ i ]; for k := 1 to length(s2) do if (not s2[ j ] in set) then begin fl := false; break; end; if (fl) then inc(cnt); end;

Похожие вопросы
хочу задать один вопрос программисту мой скайп wolandemort007
Как в С++ задать пустое множество?
как узнать где мои мои заданные вопросы. Ну короче я вопрос задал а ответы прочитать хочу но не могу
ТакОй Задать хочУ вопрос...
переделка кода PascalABC в PascalABC.NET
Не могу прочитать текст из файла. PascalABC.NET
я хочу задать вопрос
PascalABC.NET на Линукс
Почему программа не работает? PascalABC.NET
Вот такой вопрос хочу задать..