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

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

Войти
Регистрация
Восстановить пароль
 
Слава Кондратье
1 / 1 / 0
Регистрация: 21.12.2011
Сообщений: 75
#1

Динамические массивы. Преобразовать строку по условию - C++

27.02.2013, 15:17. Просмотров 399. Ответов 3
Метки нет (Все метки)

имеется строка,содержащая буквы и цифры.Преобразуйте эту строку так,чтобы сначала в ней шли все цифры исходной строки,а потом-все буквы исходной строки,но в обратном порядке.
Допустимые символы -цифры,прописные и строчные латинские буквы.
пример
ad2e57b 257beda
Kozloff. недопустимый символ-''.''

Всем спасибо кто откликнется
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.02.2013, 15:17     Динамические массивы. Преобразовать строку по условию
Посмотрите здесь:

Динамические массивы. C++
динамические массивы C++
Преобразовать матрицу согласно условию C++
C++ Динамические массивы
C++ Преобразовать массив по условию.
C++ Динамические массивы
C++ динамические массивы
C++ Как правильно преобразовать строку символов в строку типа CComBSTR?
C++ Преобразовать строку s в верхний регистр и переписать результат в строку S1
Динамические массивы С++ - найти строку с наибольшей и наименьшей суммой элементов C++
Динамические массивы C++
C++ Преобразовать строку из файла, содержащую запись десятичного числа, в строку с двоичным числом

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
olya7
477 / 294 / 91
Регистрация: 18.02.2013
Сообщений: 684
27.02.2013, 15:25     Динамические массивы. Преобразовать строку по условию #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
#include <iostream.h>
#include <string.h>
 
int main()
{
    int i,j=0,k=0,dl,m;
    char a[100],c[100],b[100];
    cin>>a;
    cout<<endl;
    dl=strlen(a);
    for (i=0;i<dl;i++)
        if (a[i]>='0' && a[i]<='9')
        {
            c[j]=a[i];
            j++;
        }
        else 
            {
            b[k]=a[i];
            k++;
        }
 
        for (i=0;i<j;i++)
            a[i]=c[i];
        for (i=j,m=k-1;i<dl,m>=0;i++,m--)
            a[i]=b[m];
        cout<<a;
 
 
 
    
 
    return 0;
 
}
DiffEreD
1427 / 764 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
27.02.2013, 15:52     Динамические массивы. Преобразовать строку по условию #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <string>
#include <algorithm>
 
int main() 
{
    std::string text = "ad2e57b257beda";
    std::cout<<text<<"\n";
    auto pos = std::partition(text.begin(), text.end(), [](const char& ch){return std::isdigit(ch);});
    std::cout<<text<<"\n";
    std::reverse(pos, text.end());
    std::cout<<text<<"\n";
}
Слава Кондратье
1 / 1 / 0
Регистрация: 21.12.2011
Сообщений: 75
28.02.2013, 15:26  [ТС]     Динамические массивы. Преобразовать строку по условию #4
спасибо огромное,а как прописать что знаки препинания -недопустимые символы?
Yandex
Объявления
28.02.2013, 15:26     Динамические массивы. Преобразовать строку по условию
Ответ Создать тему
Опции темы

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