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

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

Войти
Регистрация
Восстановить пароль
 
EfimKR
 Аватар для EfimKR
53 / 26 / 10
Регистрация: 24.06.2014
Сообщений: 229
Записей в блоге: 1
#1

Программа должна удалять из строки все символы, что стоят на чётных местах после буквы "а" - C++

14.07.2014, 10:44. Просмотров 419. Ответов 2
Метки нет (Все метки)

Программа должна удалять из строки все символы, что стоят на чётных местах после буквы "а". Сделал программу которая это делает, но только с латиницей. Как сюда подключить кириллицу?
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
#include<iostream>
#include<cstring>
using namespace std;
int main()
{
    setlocale(LC_ALL, "Russian"); // Программа работает только с латинницей.
    const int nSize =300;
    int i=0, j=0, k=0;
    char szStr1[nSize]={0};
    char szStr2[nSize]={0};
 
    cout<<"Введите текст. Ввод окончите нажатием \"Enter\"\n";
    cin.getline(szStr1, 300);   // Ввод строки реализуем через cin.getline. Так как она считывает всю строку целиком до нажатия Enter.
        
    while(szStr1[i]!='\0')      // Пока не дойдем до конца строки 1,
    {
        szStr2[i]=szStr1[i];    // копируем строку 1 в 2.
        if (szStr1[i]=='a')     // Если встретился елемент "а", переходим в цикл
        {
            j=i+1; k=i+2;       // который копирует в 2 нечётные елементы после "а" из строки 1,
            while(szStr1[k]!='\0')  // до тех пор, пока не пройдет всю строку.
            {
                szStr2[j]=szStr1[k];
                j++; k+=2;      
            }
            i=k;
        }
        i++;
    }
 
    cout<<"Текст после изменений:\n";   // Выведем что получилось.
    i=0;
    while(szStr2[i]!='\0')
    {
        cout<<szStr2[i]; i++;
    }
    cout<<endl;
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.07.2014, 10:44     Программа должна удалять из строки все символы, что стоят на чётных местах после буквы "а"
Посмотрите здесь:

C++ Ввести строку символов после чего заменить все буквы "а" на ноль
Дано предложение. Удалить из него все буквы "о", стоящие на нечётных местах C++
C++ После каждой буквы "о" в слове вставить сочетание "ля"
Вычеркнуть из слова все буквы "я",стоящие на честных местах C++
C++ Если строка содержит больше пяти латинских "a",заменить все латинские и русские буквы строки следующими по алфавиту символами.
В тексте выделить все слова, что начинаються с буквы "к" C++
Строка: Имеются четыре буквы, необходимо удалить из массива все символы, кроме этих четырех и "склеить" оставшееся в непрерывный символьный массив. C++
Вычеркните из слова все буквы "я", стоящие на четных местах C++
Удалить все символы "*", а символы, не являющиеся "*", удвоить C++
В бинарном файле поменять местами элементы, что стоят на парных местах с элементами, что стоят на непарных местах C++
C++ Все символы строки, стоящие на четных местах, заменить на букву "ы"
В заданом тексте заменить все символы ":" на символы "-" и наоборот C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ilot
Модератор
Эксперт С++
1780 / 1155 / 223
Регистрация: 16.05.2013
Сообщений: 3,042
Записей в блоге: 5
Завершенные тесты: 1
14.07.2014, 11:14     Программа должна удалять из строки все символы, что стоят на чётных местах после буквы "а" #2
Вместо символов использовать коды целочисленного типа.
flash1989
50 / 60 / 9
Регистрация: 03.09.2010
Сообщений: 1,242
14.07.2014, 11:23     Программа должна удалять из строки все символы, что стоят на чётных местах после буквы "а" #3
http://www.ascii-codes.com/cp855.html

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

C++
1
(int)(Ваш символ)
Ну и потом условными операторами проверить положение символа в ASCII таблице.
Yandex
Объявления
14.07.2014, 11:23     Программа должна удалять из строки все символы, что стоят на чётных местах после буквы "а"
Ответ Создать тему
Опции темы

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