Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
jenya5455
1 / 1 / 0
Регистрация: 07.11.2012
Сообщений: 53
#1

Строки. Напечатать в алфавитном порядке все глухие согласные буквы - C++

15.04.2013, 19:51. Просмотров 313. Ответов 0
Метки нет (Все метки)

Всем привет, есть задача и код к ней на Паскале, кто может переведите данный код в код языка С++, спасибо.

Дана непустая последовательность слов из строчных русских букв; между соседними словами – запятая, за последним словом – точка. Напечатать в алфавитном порядке все глухие согласные буквы,
которые не входят хотя бы в одно слово.
Примечание: глухие согласные – к, п, с, т, ф, х, ц, ч, ш, щ.

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
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. {всё}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.04.2013, 19:51     Строки. Напечатать в алфавитном порядке все глухие согласные буквы
Посмотрите здесь:

C++ Напечатать в алфавитном порядке все слова, которые начинаются с большой буквы
C++ Напечатать в алфавитном порядке все буквы, которые входят в текст по одному разу
C++ Напечатать в алфавитном порядке все звонкие буквы которые входят в каждое слово
Напечатать в алфавитном порядке все различные русские буквы , входящие в введенный текст C++
C++ Напечатать в алфавитном порядке все гласные буквы, присутствуют в каждом слове
C++ Напечатать в алфавитном порядке все согласные буквы, входящие в текст.
Напечатать в алфавитном порядке все согласные буквы, входящие в текст. C++
C++ Напечатать в алфавитном порядке все глухие согласные буквы, которые входят в текст
C++ Вывести символы латинского алфавита (глухие буквы) на экран, в обратном алфавитном порядке
Напечатать в алфавитном порядке согласные буквы, которые входят только в одно слово (через множества) C++
C++ Напечатать в алфавитном порядке все глухие согласные буквы
Напечатать в алфавитном порядке все буквы входящие в текст C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 08:16. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru