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

Поменять все буквы а на a (русские на латинские) и к на k - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 27, средняя оценка - 4.96
Murlik
4 / 4 / 1
Регистрация: 30.04.2013
Сообщений: 39
07.07.2013, 17:23     Поменять все буквы а на a (русские на латинские) и к на k #1
Вводят 2 текста. Сравнить их, объединить, вывести все пробелы, точки, запятые, двоеточия. Затем вывести размер каждого текста и общий размер. Затем поменять все буквы а на a (русские на латинские) и к на k. Потом вывести количество замен.

Проблема с русскими буквами, нужна помощь!!!

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
#include <iostream.h>
#include <string.h>
 
using namespace std;
 
int main ()
{
int i,p=0,t=0,z=0,d=0,a=0,k=0;
string s1; //первая строка
string s2; // вторая стррока
//Ввод строк
cout<<"Vvedite text 1:";
getline(cin, s1);
cout<<"Vvedite text 2:";
getline(cin, s2);
 
 
    // Конкатенация строк, обьединение.
    string s=s1+s2;
    cout<<"tex1+text2-"<<s<<endl;
 
 
//Сравнение строк
 
    if (s1.length()>s2.length())
    cout<<"Text 1 bolshe"<<endl;
    else if (s1.length()<s2.length())
    cout<<"Text 2 bolshe"<<endl;
    else if (s1.length()==s2.length())
    cout<<"Text 1 = Text 2"<<endl;
 
// Получение длины строки.
    cout<<"Size tex1+text2-"<<s.length()<<endl;
    cout<<"Size text1-"<<s1.length()<<endl;
    cout<<"Size text2-"<<s2.length()<<endl;
 
//Вывести все пробелы, точки, запятые и двоеточия
 
for (i=0;i<s.length();i++)
{
   if(s[i]==' ')
    p++;   //подсчет пробелов
    if(s[i]=='.')
    t++;   //подсчет точек
    if(s[i]==',')
    z++;   //подсчет запятых
    if(s[i]==':')
    d++;   //подсчет двоеточий
    }
    cout<<"Probelov: "<<p<<endl;
    cout<<"Tochek: "<<t<<endl;
    cout<<"Zapytay: "<<z<<endl;
    cout<<"Dvoetoch: "<<d<<endl;
 
 
// Замена букв
//Вывести все пробелы, точки, запятые и двоеточия
 
for (i=0;i<s.length();i++)
{
   if(s1[i]=='a')
   {
    a++;   //подсчет замены буквы а
    s[i]='A';
   }
   if(s[i]=='k')
   {
    k++;   //подсчет замены буквы k
    s[i]='K';
   }
}
    cout<<"Zamena: "<<s<<endl;
    cout<<"Zamena a:"<<a<<endl;
    cout<<"Zamena k:"<<k<<endl;
return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.07.2013, 17:23     Поменять все буквы а на a (русские на латинские) и к на k
Посмотрите здесь:

C++ Если строка содержит больше пяти латинских "a",заменить все латинские и русские буквы строки следующими по алфавиту символами.
Преобразовать в строке все прописные латинские буквы в строчные. C++
Работа со строкой (удалить все цифры, подсчитать количество и сумму удаленных цифр, заменить все заглавные латинские буквы на строчные) C++
C++ Дана строка. Заменить в ней все строчные (латинские и русские) буквы соответствующими заглавными.
Найти все слова, содержащие латинские буквы (a, e, i, o, u) C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
08.07.2013, 07:01     Поменять все буквы а на a (русские на латинские) и к на k #2
Ввод русских символов сделайте:
Здесь посмотрите
Murlik
4 / 4 / 1
Регистрация: 30.04.2013
Сообщений: 39
08.07.2013, 07:39  [ТС]     Поменять все буквы а на a (русские на латинские) и к на k #3
нет не работает.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
08.07.2013, 07:59     Поменять все буквы а на a (русские на латинские) и к на k #4
Цитата Сообщение от Murlik Посмотреть сообщение
нет не работает.
Что конкретно?
Murlik
4 / 4 / 1
Регистрация: 30.04.2013
Сообщений: 39
08.07.2013, 08:08  [ТС]     Поменять все буквы а на a (русские на латинские) и к на k #5
setlocale ( LC_ALL, "Russian_Russia.1251" );
setlocale ( LC_CTYPE, "RUS" );

SetConsoleCP(1251);
SetConsoleOutputCP(1251);

Проблема думаю в компиляторе(codeblocks и DevC++)
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11800 / 6779 / 765
Регистрация: 27.09.2012
Сообщений: 16,831
Записей в блоге: 2
Завершенные тесты: 1
08.07.2013, 08:10     Поменять все буквы а на a (русские на латинские) и к на k #6
Цитата Сообщение от Murlik Посмотреть сообщение
Проблема думаю в компиляторе(codeblocks и DevC++)
Это не компиляторы.

А теперь внимание вопросы!!!
Что не работает? Как не работает? Где не работает? Какими словами ругается?
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
08.07.2013, 08:13     Поменять все буквы а на a (русские на латинские) и к на k #7
Вы с раскладками не запутались в коде? И ошибка в 61 строке, там должно быть if(s[i]=='а'):
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
#include <iostream>
#include <string>
#include <Windows.h>
 
using namespace std;
 
int main ()
{
 
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
    
int i,p=0,t=0,z=0,d=0,a=0,k=0;
string s1; //первая строка
string s2; // вторая стррока
//Ввод строк
cout<<"Vvedite text 1:";
getline(cin, s1);
cout<<"Vvedite text 2:";
getline(cin, s2);
 
 
    // Конкатенация строк, обьединение.
    string s=s1+s2;
    cout<<"tex1+text2-"<<s<<endl;
 
 
//Сравнение строк
 
    if (s1.length()>s2.length())
    cout<<"Text 1 bolshe"<<endl;
    else if (s1.length()<s2.length())
    cout<<"Text 2 bolshe"<<endl;
    else if (s1.length()==s2.length())
    cout<<"Text 1 = Text 2"<<endl;
 
// Получение длины строки.
    cout<<"Size tex1+text2-"<<s.length()<<endl;
    cout<<"Size text1-"<<s1.length()<<endl;
    cout<<"Size text2-"<<s2.length()<<endl;
 
//Вывести все пробелы, точки, запятые и двоеточия
 
for (i=0;i<s.length();i++)
{
   if(s[i]==' ')
    p++;   //подсчет пробелов
    if(s[i]=='.')
    t++;   //подсчет точек
    if(s[i]==',')
    z++;   //подсчет запятых
    if(s[i]==':')
    d++;   //подсчет двоеточий
}
    cout<<"Probelov: "<<p<<endl;
    cout<<"Tochek: "<<t<<endl;
    cout<<"Zapytay: "<<z<<endl;
    cout<<"Dvoetoch: "<<d<<endl;
 
 
// Замена букв
//Вывести все пробелы, точки, запятые и двоеточия
 
for (i=0;i<s.length();i++)
{
   if(s[i]=='а')
   {
    a++;   //подсчет замены буквы а
    s[i]='A';
   }
   if(s[i]=='к')
   {
    k++;   //подсчет замены буквы k
    s[i]='K';
   }
}
    cout<<"Zamena: "<<s<<endl;
    cout<<"Zamena a:"<<a<<endl;
    cout<<"Zamena k:"<<k<<endl;
 
system("pause");
return 0;
}
Миниатюры
Поменять все буквы а на a (русские на латинские) и к на k  
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
08.07.2013, 08:26     Поменять все буквы а на a (русские на латинские) и к на k #8
И шрифт Lucida Console, в свойствах консоли, установите.

Добавлено через 4 минуты
Цитата Сообщение от Murlik Посмотреть сообщение
и к на k
, а в коде k меняете. Путаница.

Добавлено через 3 минуты
Цитата Сообщение от Murlik Посмотреть сообщение
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
Вот это как раз для codeblocks и DevC++.
Murlik
4 / 4 / 1
Регистрация: 30.04.2013
Сообщений: 39
08.07.2013, 08:30  [ТС]     Поменять все буквы а на a (русские на латинские) и к на k #9
Вот результат
Миниатюры
Поменять все буквы а на a (русские на латинские) и к на k  
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
08.07.2013, 08:41     Поменять все буквы а на a (русские на латинские) и к на k #10
Цитата Сообщение от alsav22 Посмотреть сообщение
И шрифт Lucida Console, в свойствах консоли, установите.
Это сделали?
Murlik
4 / 4 / 1
Регистрация: 30.04.2013
Сообщений: 39
08.07.2013, 08:54  [ТС]     Поменять все буквы а на a (русские на латинские) и к на k #11
нет, пытаюсь в codeblocks найти свойства консоли...
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
08.07.2013, 10:05     Поменять все буквы а на a (русские на латинские) и к на k #12
Цитата Сообщение от Murlik Посмотреть сообщение
в codeblocks найти свойства консоли...
Там их нет. Запустите программу, правой кнопкой по окну запущенной консоли, в меню - свойства, там - шрифт.

Добавлено через 1 час 3 минуты
Получилось?
Миниатюры
Поменять все буквы а на a (русские на латинские) и к на k   Поменять все буквы а на a (русские на латинские) и к на k   Поменять все буквы а на a (русские на латинские) и к на k  

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.07.2013, 11:11     Поменять все буквы а на a (русские на латинские) и к на k
Еще ссылки по теме:

C++ Во введенной строке заменить все гласные латинские буквы на русские соответственно
C++ Заменить все прописные латинские буквы строчными
C++ Преобразовать все строчные буквы(как латинские, так и русские) в прописные, а прописные в строчные

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

Или воспользуйтесь поиском по форуму:
Murlik
4 / 4 / 1
Регистрация: 30.04.2013
Сообщений: 39
08.07.2013, 11:11  [ТС]     Поменять все буквы а на a (русские на латинские) и к на k #13
Спасибо все получилось
Yandex
Объявления
08.07.2013, 11:11     Поменять все буквы а на a (русские на латинские) и к на k
Ответ Создать тему
Опции темы

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