Показать сообщение отдельно
Старый 26.05.2012, 04:36   #4 (permalink)
Oksana777
Member
 
Регистрация: 08.05.2012
Сообщений: 16
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
Question

Цитата:
Сообщение от Vladimir_S Посмотреть сообщение
Ну во-первых, Вы же сами определяете тип задания, как работа с множествами, а где у Вас в программе множества? В упор не вижу. Во-вторых, я работаю только с DOS-Паскалем, а потому правильность установки виндовских модулей-кодировщиков и возня с кириллицей - Ваша забота. В-третьих, вводить текст побуквенно - тоска смертная, а потому я ввожу и обрабатываю строку целиком. Вот что получилось:
Код:
var
 a:array[1..200] of string;
 i,j,n:integer;
 r:set of char;
 t:boolean;
 s:string;
begin
 for i:=1 to 200 do a[i]:='';
 r:=[];
 writeln('Enter the string:');
 readln(s);
 i:=1;
 j:=0;
 while s[j]<>'.' do
  begin
   inc(j);
   if s[j]=' ' then
    inc(i)
   else
    a[i]:=a[i]+s[j];
  end;
 n:=i;
 for i:=1 to length(a[1]) do
  if not(a[1][i] in r) then r:=r+[a[1][i]];
 writeln('Words containing no letters of the first word:');
 for i:=2 to n do
  begin
   t:=true;
   j:=0;
   repeat
    Inc(j);
    if a[i][j] in r then t:=false;
   until not(t) or (j=length(a[i]));
   if t then write(a[i]+' ');
  end;
 readln
end.
а если у меня случай, что слов, в которых нету букв из первого слова, нет, как вывести сообщение "Таких слов не найдено"?
Oksana777 вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070