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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.04.2016, 16:06   #1
Gohych
 
Регистрация: 16.04.2016
Сообщений: 7
Вопрос Нужно найти буквы(т.е вывести на экран) которые встречаются в 2 или более словах.

Задано множество (текст). Нужно найти буквы(т.е вывести на экран) которые встречаются в 2 или более словах.Слова друг от друга отделяются всевозможными знаками или пробелом.Ответ записать в виде другого множества.
Никак не могу правильно написать программу , ответ выводиться в виде пустого множества.Помогите ,решить пожалуйста

Последний раз редактировалось Gohych; 16.04.2016 в 16:09.
Gohych вне форума Ответить с цитированием
Старый 16.04.2016, 16:15   #2
eoln
Старожил
 
Аватар для eoln
 
Регистрация: 26.04.2008
Сообщений: 2,689
По умолчанию

Цитата:
Сообщение от Gohych Посмотреть сообщение
ответ выводиться в виде пустого множества.
Коды в студию, сложно без них помочь
eoln вне форума Ответить с цитированием
Старый 16.04.2016, 16:54   #3
newerow1989
Я самый любопытный
Участник клуба
 
Аватар для newerow1989
 
Регистрация: 24.07.2012
Сообщений: 1,949
По умолчанию

Код:
type tSet=set of char;
var p:array of tSet;
    s:string;
    r,t:tSet;
    i0,i,j,n:integer;
    c:char;
begin
   Write('s = '); Readln(s);
   s:=s+' ';
   n:=0;
   i0:=1;
   For i:=1 to Length(s) do
      If s[i] in [' ','.',',',':',';','!','?','-'] then
      begin
         n:=n+1;
         SetLength(p,n);
         For j:=i0 to i-1 do
            p[n-1]:=p[n-1]+[s[j]];
         i0:=i+1;
      end;
   For i:=0 to n-2 do
   begin
      For j:=i+1 to n-1 do
         t:=p[i]*p[j];
      r:=r+t;
   end;
   For c:='A' to 'z' do
      If c in r then
         Write(c:2);
   Writeln;
   Readln;
end.

Примечание: работает с английскими текстами!
С запрограммированным приветом, Неверов Евгений!
Сайт: http://newerow1989.ru
[Паскаль] [Delphi]
newerow1989 вне форума Ответить с цитированием
Старый 28.12.2016, 11:02   #4
Gohych
 
Регистрация: 16.04.2016
Сообщений: 7
По умолчанию

Цитата:
Сообщение от newerow1989 Посмотреть сообщение
Код:
type tSet=set of char;
var p:array of tSet;
    s:string;
    r,t:tSet;
    i0,i,j,n:integer;
    c:char;
begin
   Write('s = '); Readln(s);
   s:=s+' ';
   n:=0;
   i0:=1;
   For i:=1 to Length(s) do
      If s[i] in [' ','.',',',':',';','!','?','-'] then
      begin
         n:=n+1;
         SetLength(p,n);
         For j:=i0 to i-1 do
            p[n-1]:=p[n-1]+[s[j]];
         i0:=i+1;
      end;
   For i:=0 to n-2 do
   begin
      For j:=i+1 to n-1 do
         t:=p[i]*p[j];
      r:=r+t;
   end;
   For c:='A' to 'z' do
      If c in r then
         Write(c:2);
   Writeln;
   Readln;
end.

Примечание: работает с английскими текстами!
спасибо большое за помощь)
Gohych вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дана строка, вывести на экран знаки препинания, которые встречаются хотя бы 2 раза (Паскаль) GamBitFRK Помощь студентам 0 22.12.2011 17:22
Ввести из клавиатуры слово и распечатать символы, которые встречаются более одного раза. eragon_ua Паскаль, Turbo Pascal, PascalABC.NET 0 18.04.2011 18:26
из строки вывести на экран те символы, которые встречаются только по 1 разу Andrey770 Паскаль, Turbo Pascal, PascalABC.NET 4 29.03.2011 19:08
Целочисленный массив. Элементы, которые встречаются более одного раза! Алина18 Помощь студентам 2 21.10.2010 08:10
Си. Вычеркнуть из слова X те буквы, которые встречаются в слове Z. hen Помощь студентам 1 29.04.2009 15:32