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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.07.2010, 00:15   #1
Corpinccom
Пользователь
 
Регистрация: 10.06.2010
Сообщений: 34
По умолчанию Множества.

1)Дана последовательность русских слов (строчными буквами) разделенных запятыми (не менее 10-и слов). Вывести на экран все звонкие согласные буквы (б, в, г, д, ж, з, л, м, н, р), которые входят в каждое нечётное слово и не входят ни в одно четное слово.
2) Дана последовательность из 10-и русских слов. Вывести на печать слова, в которых первая буква слова встречается в нём ещё раз.
Corpinccom вне форума Ответить с цитированием
Старый 21.07.2010, 06:10   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

учитесь пользоваться поиском. Подобные задачи решались тут на форуме.

вот, например, у меня лежит такое решение 1-й задачи (к сожалению, не помню, чей (C) )
Код:
(*

Дана непустая последовательность слов из строчных русских букв;
между соседними словами - запятая, за последним словом - точка.
Напечатать в алфавитном порядке:
  все глухие согласные буквы, которые входят в каждое нечетное слово
                              и не входят хотябы в одно четное слово.
Примечание: гласные буквы: а,е,и,о,у,ы,э,ю,я (без ё);
согласные - все остальные буквы, кроме й,ь,ъ;
звонкие согласные - б,в,г,д,ж,з,л,м,н,р;
глухие согласные - к,п,с,т,ф,х,ц,ч,ш,щ.

*)

program lalala; {Прога "ляляля"}
const gluh = ['к', 'п', 'с', 'т', 'ф', 'х', 'ц', 'щ']; {Все глухие}
type wrds = array[1..250] of string; {новый тип- массив словес}
var l: string; {строчечго}
  ww: array[1..250] of string; {массив слов}
  len, ii: integer; {числеца - len кол-во слов ii счётчик}

procedure fromstringtwords; {строчечго --> словеса}
var i, j: integer; { no comments}
  cs: string; {cs- current string - кусок слова}
begin {---}
  i := 1; {---}
  j := 1; {---}
  cs := ''; {}
  while l[i] <> '.' do {пока символ l[i] <> '.'}
  begin {---}
    if l[i] = ',' then {если он "," }
    begin {---}
      ww[j] := cs; {словесо = сs}
      cs := ''; {кусок слова пустой}
      inc(j); {следующее словесо }
    end else cs := cs + l[i]; {иначе кусок слова + символ из строчечго}
    inc(i);
  end;
  ww[j] := cs; {последнее словесо}
  len := j; {кол-во словес}
end;

function ninchet(s: char): boolean; {символ s не содержится в 1 чёт.}
var i, j: integer;
  k: boolean;
begin
  i := 0;
  k := true; {к = содержится}
  while (i <= len) and k do
  begin
    inc(i, 2);
    j := 1;
    while (j <= length(ww[i])) and (ww[i][j] <> s) do inc(j);
    if j <= length(ww[i]) then {если всё-таки не содержится}
    begin
      k := false; {то так и быть}
    end;
  end;
  ninchet := i > len; {возврат}
end;

function inallnechet(s: char): boolean; {во всех нечет. есть s}
var i, j: integer;
  k: boolean;
begin
  k := true; {k= оно во всех}
  i := -1;
  while (i <= len) and k do { если не во всех- ПАКА}
  begin
    inc(i, 2);
    j := 1;
    while (j <= length(ww[i])) and (ww[i][j] <> s) do inc(j);
    k := j > length(ww[i]); {k:= во всех ли?}
  end;
  inallnechet := i < len;
end;

var jj: integer;
begin
  fillchar(ww, sizeof(ww), 0); {забить словеса пустотой}
{  read(l);}{строчечго!}
  l := 'хищение,ага,порох.';
  fromstringtwords; {строчечго --> словеса}
  WriteLn(len);
  for jj := 1 to Len do
    Writeln(ww[jj]);
  for ii := 40 to 256 do {все символы, в кот. может содержаться глух. (можно упростить)}
    if chr(ii) in gluh then {если символ глухой}
    begin
      if ninchet(chr(ii)) and inallnechet(chr(ii)) then write(chr(ii), ' '); { и соотв. условию - вывести}
    end;
end. {всё}
Serge_Bliznykov вне форума Ответить с цитированием
Старый 28.07.2010, 22:56   #3
Corpinccom
Пользователь
 
Регистрация: 10.06.2010
Сообщений: 34
По умолчанию

Большое спасибо!
Corpinccom вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Множества Solnze2 Паскаль, Turbo Pascal, PascalABC.NET 0 09.06.2010 09:50
Множества surf135 Помощь студентам 3 08.06.2010 14:15
Множества Asira Помощь студентам 0 12.12.2009 18:34
Множества Archangelos Паскаль, Turbo Pascal, PascalABC.NET 5 01.06.2009 11:26
Множества Smotritel89 Паскаль, Turbo Pascal, PascalABC.NET 8 16.05.2009 01:19