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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Даны натуральное k , символьный файл f и текстовый файл f1 . Файл f содержит 30 слов , каждое из которых будем называть ключевым http://www.cyberforum.ru/cpp-beginners/thread838766.html
Добрый день, помогите пожалуйста сделать вот такую программу. Даны натуральное k , символьный файл f и текстовый файл f1 . Файл f содержит 30 слов , каждое из которых будем называть ключевым. Сформировать файл g , который содержит строки файла f1 , циклически сдвинутые так, чтобы каждое ключевое слово, входящее в строку, начиналось с k-й позиции. Строки, содержащие ключевых слов, в файл g не...
C++ Деструктор В чем проблема?) http://www.cyberforum.ru/cpp-beginners/thread838765.html
C++ Округление дробной части
Помогите пожалуйста!!! Как реализовать метод округления дробной части до 0,1 (0,36 -> 0,4; 0, 33333 ->0,3 и т.д.)????
C++ добавить 3 поле
Нужно добавить 3 поле, переопределить метод вывода (выводить в формате координат). Сама программа производит арифметические действия с комплексными числами. #include "stdafx.h" #include <iostream> using namespace std; class Complex { public: Complex():re(0),im(0){} Complex(double Re,double Im):re(Re),im(Im){}
C++ Почему то пропускается условие http://www.cyberforum.ru/cpp-beginners/thread838749.html
В программе нужно указать записывать в файл или нет. Вроде бы все правильно, но почему то пропускается условие вот сдесьif(fl == 'y' || fl == 'Y') flag = true; Вот весь код #include <stdio.h> #include <math.h> using namespace std; void vvid(int *, char); void maks_min(int *, int *, int *);
C++ Сортировка двух векторов (имена и возраст) Имеется вектор строк, которые обозначают имена, и вектор чисел, означающий их возрасты. Нужно написать функцию sort() которая бы сортировала имена в алфавитном списке, и потом соответственно этим именам размещала возрасты участников. я написал такую функцию void Name_pairs::sort(vector<string>& a, vector<double>& b) { for (int j = a.size() - 1; j >= 2; j--) { for (int i = 0; i < j;... подробнее

Показать сообщение отдельно
jenya5455
1 / 1 / 0
Регистрация: 07.11.2012
Сообщений: 53
15.04.2013, 19:51     Строки. Напечатать в алфавитном порядке все глухие согласные буквы
Всем привет, есть задача и код к ней на Паскале, кто может переведите данный код в код языка С++, спасибо.

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

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. {всё}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 06:22. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru