![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Код:
{$APPTYPE CONSOLE}
uses
SysUtils;
var str, slovo: string;
ks, ns, i, j: integer;
sb,mn1, mn2, mn3, mn4: set of char;
c, a: char;
begin
mn1:=[]; mn2:=[]; mn4:=[];
sb:=['b','d','g','j','n','m','r','v','z','w'];
readln (str);
i:=1;
while i<=length (str) do
begin
while (str[i]=' ')
//and (i<=length (str))
do i:=i+1;
ns:=i;
while (str[i]<>' ')
//and (i<=length (str))
do i:=i+1;
ks:=i;
slovo:= copy(str, ns, ks-ns);
for j:=1 to length(slovo) do mn1:=[slovo[j]];
mn4:=sb -mn1;
for c:=chr(0) to chr (255) do
if c in mn4 then write (c,' ');
writeln(' ');
end;
begin
i:=length(str);;
while (str[i]=' ')
///and (i<=length (str))
do i:=i-1;
ks:=i;
while (str[i]<>' ')
//and (i<=length (str))
do i:=i-1;
ns:=i;
slovo:= copy(str, ns, ks-ns);
for j:=1 to length (slovo) do mn3:=[slovo[j]];
mn1:=[];
mn1:=mn4 - mn3;
for c:=chr(0) to chr (255) do
if c in mn4 then write (c,' ') end;
while i<=length (str) do
begin
while (str[i]=' ') and (i<=length (str)) do i:=i+1;
ns:=i;
while (str[i]<>' ') and (i<=length (str)) do i:=i+1;
ks:=i;
slovo:= copy(str, ns, ks-ns);
for j:=1 to length(slovo) do mn2:=mn2+[slovo[j]];
mn3:=mn2*mn1;
for c:=chr(0) to chr (255) do
if c in mn3 then write (c,' ');
writeln(' ');
readln;
end;
end.Последний раз редактировалось Asira, 27.12.2009 в 18:13. |
|
#2
|
|||
|
|||
|
Я же тебе уже давал код для решения этой задачи?
Код:
{$APPTYPE CONSOLE}
uses
SysUtils;
var
S, NewS:String;
b:byte;
sb: set of char;
begin
Writeln('Enter string ');
Readln(S);
sb:=['b','d','g','j','n','m','r','v','z','w'];
for b:=1 to Pos(' ', S) do
if S[b] in sb then
sb:=sb-[S[b]];
Delete(S, 1, Pos(' ', S));
b:=length(s);
while (b > 1) and (S[b]<>' ') do
begin
if S[b] in sb then
sb:=sb-[S[b]];
Dec(b);
end;
Delete(S, b, Length(S)-(b+1));
for b:=1 to Length(S) do
if S[b] in sb then
begin
sb:=sb-[S[b]];
write(S[b],' ');
end;
readln;
end. |
|
#3
|
|||
|
|||
|
Мне сказали надо первое и последнее слово запихать во множество а потом работать со множествами без строк
|
|
#4
|
|||
|
|||
|
Держи)
Код:
{$APPTYPE CONSOLE}
uses
SysUtils;
var
S:String;
b:byte;
sb, nsb, rsb: set of char;
zBegin, zEnd:Byte;
c:char;
begin
Writeln('Enter string ');
Readln(S);
sb:=['b','d','g','j','n','m','r','v','z','w']; //символы которые ищем
nsb:=[]; //символы которые в первом и последнем слове
rsb:=[]; //символы которые будем выводить на экран
//сначала пробежимся по первому и последнему слову, и соберем nsb
zBegin:=Pos(' ', S);
for b:=1 to zBegin do
if S[b] in sb then
nsb:=nsb+[S[b]];
b:=length(s);
while (b > 1) and (S[b]<>' ') do
begin
if S[b] in sb then
nsb:=nsb+[S[b]];
Dec(b);
end;
zEnd:=(b+1);
//теперь пробежимся по остальным словам и соберем rsb
for b:=zBegin to zEnd do
if (S[b] in sb) then
rsb:=rsb+[S[b]];
//вычтем из rsb символы nsb
rsb:=rsb-nsb;
//и выведем результат
for c:=chr(0) to chr (255) do
if c in rsb then
write(c,' ');
readln;
end. |
|
#5
|
|||
|
|||
|
Спасибо!..............
Последний раз редактировалось Asira, 17.01.2011 в 22:29. |