Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 08.05.2014, 01:40   #1 (permalink)
Serg_k
Новичок
 
Регистрация: 04.05.2014
Сообщений: 3
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Помогите, пожалуйста, с задачкой на множества. Паскаль

Вводится непустая строка из строчных букв(не более 79 символов). Отдельные слова в ней разделены запятыми(слева и справа от запятой могут быть пробелы). Вывести в алфавитном порядке все звонкие согласные, которые входят в каждое нечётное слово и не входят хотя бы в одно чётное.
Serg_k вне форума   Ответить с цитированием

Старый 08.05.2014, 01:40
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Дам вам рекомендацию - прочитайте данные топики

Задачка на множества, Паскаль
Помогите, пожалуйста, с задачкой. Fortran, Pascal
Помогите пожалуйста с задачкой, Fortran, Pascal
Программа на Паскаль. Множества
Помогите пожалуйста решить Паскаль
Паскаль! Помогите с задачкой

Старый 08.05.2014, 02:12   #2 (permalink)
Charlotte
Member
 
Регистрация: 20.04.2014
Сообщений: 63
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Код:
program zd; 
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. {всё}
прога.7z
Charlotte вне форума   Ответить с цитированием
Старый 08.05.2014, 22:49   #3 (permalink)
Serg_k
Новичок
 
Регистрация: 04.05.2014
Сообщений: 3
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Спасибо большое!

Программа в архиве для турбо паскаля? Есть ли принципиальная разница между программой приведенной здесь и в архиве, и можно ли их запускать в ABC?
Serg_k вне форума   Ответить с цитированием
Старый 08.05.2014, 23:43   #4 (permalink)
Serg_k
Новичок
 
Регистрация: 04.05.2014
Сообщений: 3
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

в ABC ругается на процедуру fillchar
Serg_k вне форума   Ответить с цитированием
Ads

Яндекс

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

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 01:10.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.