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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.05.2012, 17:19   #1
Айдар123
 
Регистрация: 21.04.2012
Сообщений: 8
По умолчанию Паскаль Множества.

Помогите решить задачу!
Дан текст. Выяснить, верно ли, что среди символа текста имеются все буквы, входящие в слово 'шина'.
Айдар123 вне форума Ответить с цитированием
Старый 04.05.2012, 19:32   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
type tsh=set of 'а'..'я';
const tetalon:tsh=['ш','и','н','а'];
      s='машина-шипшина';
var shh:tsh;i:integer;
begin
 for i:=1 to Length(s) do if s[i] in ['ш','и','н','а'] then include(shh,s[i]);
 if  (tetalon-shh)=[] then write('yes') else write('no');
 readln;
  { TODO -oUser -cConsole Main : Insert code here }
end.
Подойдет?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 05.05.2012, 11:58   #3
Айдар123
 
Регистрация: 21.04.2012
Сообщений: 8
По умолчанию

спасибо! конечно,проверил работает.
Айдар123 вне форума Ответить с цитированием
Старый 06.05.2012, 13:36   #4
Айдар123
 
Регистрация: 21.04.2012
Сообщений: 8
По умолчанию

программа не работает. я ошибся
Айдар123 вне форума Ответить с цитированием
Старый 06.05.2012, 14:36   #5
temaps
Форумчанин
 
Регистрация: 15.05.2011
Сообщений: 160
По умолчанию

Буквы потому что русские. В delphi 7 скорее всего заработает. С 2009 дельфи юникод начал поддерживаться.
Самому интересно стало. В XE2 у меня заработало так:
Код:
program Project1;

{$APPTYPE CONSOLE}

{$R *.res}

uses
  System.SysUtils,windows;
var
c:ansichar;
s:ansistring;
m:set of ansichar;
begin
  SetConsoleCP(1251);
  SetConsoleOutputCP(1251);
  write('Введите строку: ');readln(s);
  m:=['ш','и','н','а'];
  for c in s do m:=m-[c];
  if  m=[] then write('yes') else write('no');
  readln;
end.
В фрипаскале так заработало:
Код:
var
c:ansichar;
s:ansistring;
m:set of ansichar;
begin
  write('Введите строку: ');readln(s);
  m:=['ш','и','н','а'];
  for c in s do m:=m-[c];
  if  m=[] then write('yes') else write('no');
  readln;
end.

Последний раз редактировалось temaps; 06.05.2012 в 14:45.
temaps вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Множества. Паскаль. Heming Фриланс 1 24.12.2011 09:22
Множества, Паскаль bwitcher Помощь студентам 1 15.03.2011 16:34
Множества паскаль Belii09878 Помощь студентам 5 16.05.2010 16:04
Множества В Паскаль Стасссс Помощь студентам 1 03.04.2009 17:43