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

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

Восстановить пароль Регистрация
 
EfimKR
 Аватар для EfimKR
48 / 21 / 10
Регистрация: 24.06.2014
Сообщений: 210
Записей в блоге: 1
14.07.2014, 10:44     Программа должна удалять из строки все символы, что стоят на чётных местах после буквы "а" #1
Программа должна удалять из строки все символы, что стоят на чётных местах после буквы "а". Сделал программу которая это делает, но только с латиницей. Как сюда подключить кириллицу?
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++
В бинарном файле поменять местами элементы, что стоят на парных местах с элементами, что стоят на непарных местах C++
C++ Все символы строки, стоящие на четных местах, заменить на букву "ы"
C++ Удалять в словах, которые заканчиваются на букву "А" все другие буквы "А"

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ilot
Модератор
Эксперт С++
1765 / 1140 / 221
Регистрация: 16.05.2013
Сообщений: 3,017
Записей в блоге: 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     Программа должна удалять из строки все символы, что стоят на чётных местах после буквы "а"
Ответ Создать тему
Опции темы

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