IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> ПРОЦЕДУРА, даны три слова
sds
сообщение 26.05.2007 22:15
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 15
Пол: Мужской

Репутация: -  0  +


Народ помогите, а то я чето туплю

пусть даны три слова. необходимо определить буквы, которые встречаются во всех 3 словах (для нахождения множества символов, образующих слово, используйте процедуру).

Заранее спасибо.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
мисс_граффити
сообщение 26.05.2007 22:57
Сообщение #2


просто человек
******

Группа: Модераторы
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

Репутация: -  55  +


Так?
type mnog=set of char;
var mn1,mn2,mn3: mnog;
s1,s2,s3: string;
ch: char;
procedure StrToSet(const s: string; var mn: mnog);
var i: byte;
begin
mn:=[];
for i:=1 to length(s) do
include(mn,s[i]);
end;

begin
s1:='abcd'; {можешь сделать ввод и с клавиатуры... }
s2:='dafa';
s3:='klfd';
StrToSet(s1,mn1);
StrToSet(s2,mn2);
StrToSet(s3,mn3);
mn1:=mn1*mn2*mn3;
for ch:='a' to 'z' do {можешь добавить A..Z и что тебе еще нужно}
if ch in mn1 then
writeln(ch);
readln;
end.


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
klem4
сообщение 27.05.2007 9:05
Сообщение #3


Perl. Just code it!
******

Группа: Модераторы
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


Или вот так:

function GetChars(const a, b, c: String): String;
var
res: String;
i: Byte;
begin
res := '';
for i := 1 to Length(a) do
if (Pos(a[i], b) * Pos(a[i], c) > 0) and (Pos(a[i], res) = 0)then
res := res + a[i];
GetChars := res;
end;

var
s1, s2, s3: String;

begin
readln(s1); readln(s2); readln(s3);
writeln(GetChars(s1, s2, s3));
end.



--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
мисс_граффити
сообщение 27.05.2007 10:12
Сообщение #4


просто человек
******

Группа: Модераторы
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

Репутация: -  55  +


Не совсем по заданию sad.gif
Цитата
для нахождения множества символов, образующих слово, используйте процедуру


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
klem4
сообщение 27.05.2007 13:07
Сообщение #5


Perl. Just code it!
******

Группа: Модераторы
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


Ну это ведь не значит что нужно именно тип _множество_ использовать.


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 27.05.2007 13:08
Сообщение #6


Гость






Цитата
для нахождения множества символов, образующих слово, используйте процедуру
Это по-твоему значит, что надо использовать функцию?
 К началу страницы 
+ Ответить 
klem4
сообщение 27.05.2007 13:57
Сообщение #7


Perl. Just code it!
******

Группа: Модераторы
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


ой smile.gif

тогда можно вот так:

procedure GetChars(const a, b, c: String);
var
i: Byte;
begin
for i := 1 to Length(a) do
if (Pos(a[i], b) * Pos(a[i], c) > 0) and
(Pos(a[i], copy(a, 1, i - 1)) = 0) then writeln(a[i]);
end;

var
s1, s2, s3: String;

begin
readln(s1); readln(s2); readln(s3);
GetChars(s1, s2, s3);
end.


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 22.06.2025 18:13
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"