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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 27, средняя оценка - 4.96
Murlik
4 / 4 / 1
Регистрация: 30.04.2013
Сообщений: 48
#1

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

07.07.2013, 17:23. Просмотров 4115. Ответов 12
Метки нет (Все метки)

Вводят 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++):

Заменить в файле все большие латинские буквы на маленькие русские - C++
Добрый вечер. Помогите пожалуйста. Нужно заменить в файле все большие латинские буквы на маленькие русские. Вроде написал, но в выходном...

Во введенной строке заменить все гласные латинские буквы на русские соответственно - C++
У меня установлен Borldand C++ Builder Dos Box. Как в нем ввести русский алфавит в консоле!?Язык на компьютере меняется,а в нем нет. ...

Дана строка. Заменить в ней все строчные (латинские и русские) буквы соответствующими заглавными. - C++
8.2.1. Помогите, пожалуйста, решить задачу в С++. Дана строка. Заменить в ней все строчные (латинские и русские) буквы...

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

Преобразовать в строке все строчные буквы (как латинские, так и русские) в прописные, а прописные — в строчные - C++
Дана строка. Преобразовать в ней все строчные буквы (как латинские, так и русские) в прописные, а прописные — в строчные.

Преобразовать все строчные буквы(как латинские, так и русские) в прописные, а прописные в строчные - C++
Дана строка. Преобразовать в ней все строчные буквы(как латинские, так и русские) в прописные, а прописные в строчные. Помогите, прошу

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
alsav22
5417 / 4813 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
08.07.2013, 07:01 #2
Ввод русских символов сделайте:
Здесь посмотрите
Murlik
4 / 4 / 1
Регистрация: 30.04.2013
Сообщений: 48
08.07.2013, 07:39  [ТС] #3
нет не работает.
alsav22
5417 / 4813 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
08.07.2013, 07:59 #4
Цитата Сообщение от Murlik Посмотреть сообщение
нет не работает.
Что конкретно?
Murlik
4 / 4 / 1
Регистрация: 30.04.2013
Сообщений: 48
08.07.2013, 08:08  [ТС] #5
setlocale ( LC_ALL, "Russian_Russia.1251" );
setlocale ( LC_CTYPE, "RUS" );

SetConsoleCP(1251);
SetConsoleOutputCP(1251);

Проблема думаю в компиляторе(codeblocks и DevC++)
Croessmah
Модератор
Эксперт CЭксперт С++
13154 / 7417 / 831
Регистрация: 27.09.2012
Сообщений: 18,254
Записей в блоге: 3
Завершенные тесты: 1
08.07.2013, 08:10 #6
Цитата Сообщение от Murlik Посмотреть сообщение
Проблема думаю в компиляторе(codeblocks и DevC++)
Это не компиляторы.

А теперь внимание вопросы!!!
Что не работает? Как не работает? Где не работает? Какими словами ругается?
alsav22
5417 / 4813 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
08.07.2013, 08:13 #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
5417 / 4813 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
08.07.2013, 08:26 #8
И шрифт Lucida Console, в свойствах консоли, установите.

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

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

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

Murlik
4 / 4 / 1
Регистрация: 30.04.2013
Сообщений: 48
08.07.2013, 11:11  [ТС] #13
Спасибо все получилось
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.07.2013, 11:11
Привет! Вот еще темы с ответами:

Словом считать любую последовательность, содержащую только русские и латинские буквы. Разделители между слова - C++
Помогите написать программу Условие: Преобразовать исходную строку, приводя все слова к заданной длине следующим образом: если длина...

В новом файле заменить все латинские буквы верхнего регистра на буквы нижнего регистра - C++
9. В новом файле заменить все латинские буквы верхнего регистра на буквы нижнего регистра. help

Работа со строкой (удалить все цифры, подсчитать количество и сумму удаленных цифр, заменить все заглавные латинские буквы на строчные) - C++
Из заданной строки удалить все цифры, подсчитать количество и сумму удаленных цифр, заменить все заглавные латинские буквы на строчные

Заменить все малые латинские буквы символом «$» - C++
Необходимо составить и отладить указанную функцию. В главной программе, если в задании не предложено другое, следует описать два массива...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
08.07.2013, 11:11
Ответ Создать тему
Опции темы

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