Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.12.2009, 00:49   #1
KoFeMaN
Пользователь
 
Аватар для KoFeMaN
 
Регистрация: 29.11.2009
Сообщений: 13
По умолчанию поиск латинских гласных букв в строке

Ув.программисты нужна ваша помощь.передо мной стоит задача найти буквы латинского алфавита в введенной строке.но преподователя не устраивает это A:=[a,e,i,o,u,y]; и if (i in A) and (i in B) then подскажите пожалуйста как это можно заменить.
Код:
program lab8_b;
type stroke=set of 'a'..'z';
procedure write_str(Var B:stroke);
Var k:char;
begin
  B:=[];
  while k<>'.' do
    begin
      read(k);
      B:=B+[k]
    end;
end;
procedure search_gl(B,A:stroke);
Var i:char;
begin
  For i:='a' to 'z' do
    if (i in A) and (i in B) then
      write(i);
end;
Var A,B:stroke;
begin
  A:=[a,e,i,o,u,y];
  write_str(B);
  search_gl(B,A);
end.
KoFeMaN вне форума Ответить с цитированием
Старый 12.12.2009, 01:58   #2
Alex_FF
Удален
Форумчанин
 
Регистрация: 02.12.2009
Сообщений: 309
По умолчанию

искать только a,e,i,o,u,y?
Alex_FF вне форума Ответить с цитированием
Старый 12.12.2009, 09:11   #3
IT-man
АльTRUEи$т
Форумчанин
 
Аватар для IT-man
 
Регистрация: 19.03.2009
Сообщений: 784
По умолчанию

Код:
A:=[a,e,i,o,u,y];
может все таки
Код:
A:=['a','e','i','o','u','y'];
Код:
var
s:string;
i:integer;
----------------------
begin
readln(s);
for i:=1 to length(s) do
if  (s[i]='a') or (s[i]='e') or (s[i]='i') or (s[i]='u') or (s[i]='y') then write(s[i]);
----------------------
end.
Цитата:
«Никто не войдет в Рай, имея хотя бы крупицу гордыни в своем сердце». «Аллах Красив и любит красоту. Гордыня означает отказ от истины и высокомерие»
IT-man вне форума Ответить с цитированием
Старый 12.12.2009, 12:16   #4
KoFeMaN
Пользователь
 
Аватар для KoFeMaN
 
Регистрация: 29.11.2009
Сообщений: 13
По умолчанию

тоже вариант=)А как можно используя множества?Ну т.е. там сложить два множества и найти их пересечение
KoFeMaN вне форума Ответить с цитированием
Старый 12.12.2009, 12:23   #5
IT-man
АльTRUEи$т
Форумчанин
 
Аватар для IT-man
 
Регистрация: 19.03.2009
Сообщений: 784
По умолчанию

Цитата:
'A','B'] + ['A','D'] даст ['A','B','D']
['A','D'] * ['A','B','C'] даст ['A']
['A','B','C'] - ['A','B'] даст ['C'].
Код:
var a:set of char;
     b:set of char;
     c:set of char;
begin
a:=['a'..'z'];
b:=['a','e','i','o','u','y'];
c:=a+b; // обьеденинение
c:=a*b; // пересечение
c:=a-b; // вычитание
end.
Цитата:
«Никто не войдет в Рай, имея хотя бы крупицу гордыни в своем сердце». «Аллах Красив и любит красоту. Гордыня означает отказ от истины и высокомерие»
IT-man вне форума Ответить с цитированием
Старый 12.12.2009, 12:54   #6
KoFeMaN
Пользователь
 
Аватар для KoFeMaN
 
Регистрация: 29.11.2009
Сообщений: 13
По умолчанию

такой вопрос.а как выводить множества?ну как допустим в вашем примере вывести с
KoFeMaN вне форума Ответить с цитированием
Старый 12.12.2009, 12:56   #7
IT-man
АльTRUEи$т
Форумчанин
 
Аватар для IT-man
 
Регистрация: 19.03.2009
Сообщений: 784
По умолчанию

Код:
for i:='a' to 'z' do
if i in с write(i);
Цитата:
«Никто не войдет в Рай, имея хотя бы крупицу гордыни в своем сердце». «Аллах Красив и любит красоту. Гордыня означает отказ от истины и высокомерие»
IT-man вне форума Ответить с цитированием
Старый 12.12.2009, 17:24   #8
KoFeMaN
Пользователь
 
Аватар для KoFeMaN
 
Регистрация: 29.11.2009
Сообщений: 13
По умолчанию

вот такой вот готовый код получился
Код:
program lab8_b;
type stroke=set of 'a'..'z';
procedure write_str(Var B:stroke);
Var k:char;
begin
  B:=[];
  while k<>'.' do
    begin
      read(k);
      B:=B+[k]
    end;
end;
procedure search_gl(B,A:stroke);
Var i:char;
begin
  for i:='a' to 'z' do
    if (i in (A*B)) then
      write(i);
end;
Var A,B:stroke;
begin
  A:=['a','e','i','o','u','y'];
  write_str(B);
  search_gl(B,A);
end.
KoFeMaN вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
преобразование латинских заглавных букв в строчные на assembler lastochka Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 6 19.05.2013 11:58
Подсчёт гласных в строке Геннадий Вершинин Microsoft Office Word 1 11.12.2009 16:00
Из множества латинских букв выделить множество символов не включающих буквы вашего имени DjDeniels-61 Паскаль, Turbo Pascal, PascalABC.NET 8 28.06.2009 15:26
посчет в тексте кол-во слов, гласных и согласных букв DiabloRVK Помощь студентам 4 01.12.2008 14:23
Удвоить каждый из первых пяти цифровых символов и удалить 5 последних латинских букв gred Помощь студентам 5 16.05.2008 23:20