Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

символьные строки - C++

10.05.2009, 15:27. Просмотров 992. Ответов 5
Метки нет (Все метки)

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

Я вот написала код, который делает первые две части задачи, никак не могу разобраться как сделать так, чтобы выводила слова, которые содержать и буквы и цифри...подскажите

вот код:
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
#include <stdio.h>
#include <alloc.h>
#include <conio.h>
#include <ctype.h>
#include <string.h>
int main(void) {
 int size,i;
 char ryad[30];
 char *Cr;
  clrscr();
  printf("vvedit' ryadok - \n");
  scanf("%s",&ryad);
      size=strlen(ryad);
    for(i=0;i<size;i++){
      *(Cr+i)=ryad[i];
    if (isalpha(*(Cr+i)))
    printf("%c",*(Cr+i));   }
    for(i=0;i<size;i++){
      *(Cr+i)=ryad[i];
    if (!isalpha(*(Cr+i))&&isalnum(*(Cr+i)))
    printf("%c",*(Cr+i));   }
 
 
    free(Cr);
    getche();
  return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.05.2009, 15:27
Здравствуйте! Я подобрал для вас темы с ответами на вопрос символьные строки (C++):

символьные строки - C++
как инициализировать символьную строку так, чтобы туда засунуть русские буквы? так чтобы не белеберда была

Символьные строки - C++
Я, конечно, туп, но как взять половину первой строки при соединение строк? (задание: Ввести с клавиатуры строку. Определить во введенных...

Символьные строки - C++
Ввести с экрана строку. В строке подсчитать количество запятых и точек. Вывести на экран исходную строку и количество запятых и точек в ней...

Символьные строки - C++
Задача такая: надо отделить имя файла и расширение от его пути но из за слэшей на экран выводится какаята ерунда, никак непохожая на...

символьные строки А и Б - C++
заданы 2 символьные строки А и Б . Требуется вычислить сколькими способами можно получить строку В из строки А, вычеркивая некоторые...

Символьные строки и функции - C++
Приветик всем, Я не могу понять, что от меня требуется: Разработать функцию. Функция - Left(s,l). Назначение - выравнивание строки s...

5
Rififi
2360 / 1053 / 44
Регистрация: 03.05.2009
Сообщений: 2,656
10.05.2009, 18:12 #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
40
41
#include <string>
#include <vector>
#include <iostream>
 
#include <boost/algorithm/string.hpp>
#include <boost/bind.hpp>
using namespace boost;
 
/*
Преобразовать строку таким образом, чтобы в ее начале
были записаны слова, содержащие только цифры, потом
слова, содержащие только буквы, а затем слова, которые
содержат и буквы и цифры.
*/
 
template <typename BdIt, typename P>
BdIt reorder(BdIt begin, BdIt end, P p)
{
    typedef std::iterator_traits<BdIt>::value_type value_type;
    return std::partition(begin, end, boost::bind(&all<value_type, P>, _1, p));
}
 
template <typename T>
void reorder(T& s)
{
    typedef std::vector<T> V;
    V v;
 
    split(v, s, is_space());
    reorder(reorder(v.begin(), v.end(), is_digit()), v.end(), is_alpha());
    s = join(v, " ");
}
 
int main()
{
    std::string text = "zzz 5678 word 1234 word123 other abc123 yyy" ;
    std::cout << text << std::endl;
    reorder(text);
    std::cout << text << std::endl;
    return 0;
}
вывод:
zzz 5678 word 1234 word123 other abc123 yyy
1234 5678 word zzz yyy other abc123 word123

Проверялось на:
Visual Studio 2008 + boost
0
Катюня
0 / 0 / 0
Регистрация: 01.05.2009
Сообщений: 22
10.05.2009, 18:46  [ТС] #3
пасиб большое))))а мну надо борланд.....оно будет работать?
0
Rififi
2360 / 1053 / 44
Регистрация: 03.05.2009
Сообщений: 2,656
10.05.2009, 18:47 #4
ХЗ. Поделиями борланда не пользуюсь (:
0
Катюня
0 / 0 / 0
Регистрация: 01.05.2009
Сообщений: 22
10.05.2009, 23:11  [ТС] #5
хмык(((народ, подскажите как правильно сделать в борланде!

Добавлено через 33 минуты 17 секунд
пожалуйста)))

Добавлено через 3 часа 42 минуты 53 секунды
что никто в Борланде не работает?((((
0
Акелла
Сонный металюга
45 / 45 / 6
Регистрация: 10.05.2009
Сообщений: 295
10.05.2009, 23:36 #6
я работаю.. исключительно в нем=) тока с этой прогой увы не помогу -не понимаю как реализовать (может потому что поздно уже)
0
10.05.2009, 23:36
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.05.2009, 23:36
Привет! Вот еще темы с ответами:

Символьные строки и функции - C++
Создайте функцию, которая печатает строку и сообщает количество напечатанных символов.

Символьные и переменные строки - C++
Вывести на экран монитора строковый треугольник: ABC……………….……….....………..Z BC…………………………………Z C……………………………..Z ………….. Z

Символьные строки и функции - C++
Помогите написать функцию Right(s,l) для выравнивание строки s по правому краю до длины l.

Даны две символьные строки А и В - C++
Даны две символьные строки А и В. Составьте программу, проверяющую, можно ли из букв, входящих в А, составить В. буквы можно переставлять и...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

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