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

Транслитерация строки и замена в строке +++ на + - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ сортировка слиянием http://www.cyberforum.ru/cpp-beginners/thread197028.html
программа должна выполнять сортировку строк слиянием с использованием указателей. #include<iostream> #include<string.h> #include<conio.h> #include<stdio.h> #include<stdlib.h> using namespace std; FILE*out1,*out2,*out3; void main()
C++ Библиотека pxc.h http://www.cyberforum.ru/cpp-beginners/thread197027.html
Строки! C++
Для задач a), b), 1) и 2) исходные данные (текст) – строка символов. Ввод и вывод текста реализовать с помощью функций ввода-вывода строк: gets(char* S) и puts(char* S). Реализовать задачи обработки строк в виде отдельных функций. Функции работы со строками для задач 1) и 2) реализовать в двух вариантах: без использования библиотеки <string.h> (использовать свои функции обработки строк как...
C++ Динамический массив
Используя указатели на тип для объявления массивов, определить количество столбцов в матрице, не содержащих ни одного нулевого элемента.
C++ операторы и циклы http://www.cyberforum.ru/cpp-beginners/thread197019.html
Разработать алгоритм и написать программу, определяющую многократно по желанию пользователя: попадает ли точка, заданная координатами (х, у) в указанную область на плоскости, находится на границе области или находится вне области. В программе необходимо просмотреть изменение параметров, задающих область. :-[ P.S если что блок схему сделала могу показать
C++ Указатели и обработка строк 1) Написать программу которая проверяет находиться ли введенное с клавиатуры число в массиве. Массив должен вводиться во время работы программы. 2) Вставить в строку пробел после каждого знака препинания. (подскажите еще каким образом вывести все предложения в тексте в обратном порядке) Заранее очень благодарен в помощи. Первую в Паскале когда то решал а вот в СИ как записать что то не... подробнее

Показать сообщение отдельно
tema93
0 / 0 / 0
Регистрация: 07.11.2010
Сообщений: 15
24.11.2010, 21:54     Транслитерация строки и замена в строке +++ на +
Доброго времени суток!
Сделал код - транслитерацию строки и замена в строке +++ на +. Помогите переделать код не используя класс STRING, т.е. обычными символьными строками .
C++
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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
#include <iostream.h>
#include <string.h>
 
                    void Transliterate (string &str1) 
                     {
                        for (int i=0; i<str1.size();i++)
                           {  
                                switch (str1[i]) 
                               {
                case 'а': str1[i]="a"; break;
                case 'б': str1[i]="b"; break;
                case 'в': str1[i]="v"; break;
                case 'г': str1[i]="g"; break;
                case 'д': str1[i]="d"; break;
                case 'е': str1[i]="e"; break;
                case 'ё': str1[i]="ye"; break;
                case 'ж': str1[i]="zh"; break;
                case 'з': str1[i]="z"; break;
                case 'и': str1[i]="i"; break;
                case 'й': str1[i]="y"; break;
                case 'к': str1[i]="k"; break;
                case 'л': str1[i]="l"; break;
                case 'м': str1[i]="m"; break;
                case 'н': str1[i]="n"; break;
                case 'о': str1[i]="o"; break;
                case 'п': str1[i]="p"; break;
                case 'р': str1[i]="r"; break;
                case 'с': str1[i]="s"; break;
                case 'т': str1[i]="t"; break;
                case 'у': str1[i]="u"; break;
                case 'ф': str1[i]="f"; break;
                case 'х': str1[i]="ch"; break;
                case 'ц': str1[i]="z"; break;
                case 'ч': str1[i]="ch"; break;
                case 'ш': str1[1]="sh"; break;
                case 'щ': str1[i],"ch"; break;
                case 'ъ': str1[i],"''"; break;
                case 'ы': str1[i],"y"; break;
                case 'ь': str1[i],"''"; break;
                case 'э': str1[i],"e"; break;
                case 'ю': str1[i],"yu"; break;
                case 'я': str1[i],"ya"; break;
                case 'А': str1[i],"A"; break;
                case 'Б': str1[i],"B"; break;
                case 'В': str1[i],"V"; break;
                case 'Г': str1[i],"G"; break;
                case 'Д': str1[i],"D"; break;
                case 'Е': str1[i],"E"; break;
                case 'Ё': str1[i],"Ye"; break;
                case 'Ж': str1[i],"Zh"; break;
                case 'З': str1[i],"Z"; break;
                case 'И': str1[i],"I"; break;
                case 'Й': str1[i],"Y"; break;
                case 'К': str1[i],"K"; break;
                case 'Л': str1[i],"L"; break;
                case 'М': str1[i],"M"; break;
                case 'Н': str1[i],"N"; break;
                case 'О': str1[i],"O"; break;
                case 'П': str1[i],"P"; break;
                case 'Р': str1[i],"R"; break;
                case 'С': str1[i],"S"; break;
                case 'Т': str1[i],"T"; break;
                case 'У': str1[i],"U"; break;
                case 'Ф': str1[i],"F"; break;
                case 'Х': str1[i],"Ch"; break;
                case 'Ц': str1[i],"Z"; break;
                case 'Ч': str1[i],"Ch"; break;
                case 'Ш': str1[i],"Sh"; break;
                case 'Щ': str1[i],"Ch"; break;
                case 'Ъ': str1[i],"''"; break;
                case 'Ы': str1[i],"Y"; break;
                case 'Ь': str1[i],"''"; break;
                case 'Э': str1[i],"E"; break;
                case 'Ю': str1[i],"Yu"; break;
                case 'Я': str1[i],"Ya"; break;  
 
                               }
                        }  
                   }
                       
                 void tt (string &str1) 
                   { 
                      int p1;
                            while(( p1=str1.find("+++"))!=string::npos)
                              {
                                     str1.replace(p1,3,"*");
                                 }
                     }
                     
int main()
{       
         string str;
         char p, ans;
            while (str.empty()|| str.size()<=5)
                 {
                      cout<<"vvedi stroky dlinoy ot 5 do 20 simvolov"<<endl;
                      cin>>str;
                  }
              do
                 { 
                    cout<<'\n';
                    cout<<"vvedi 1 or 2"<<endl;
                    cin>>p;
             
                        switch (p)
                          {
                             case '1': Transliterate(str); break;
                             case '2': tt(str); break;
                          } 
                     cout<<'\n'<<str<<endl;  
                     cout<<"\n Prodolgit raboty? Da - y  Net - n \n";
                     cin>>ans;
                     
                } 
             while(ans!='n');
 
 
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 03:53. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru