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

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

Войти
Регистрация
Восстановить пароль
 
Iceprera
0 / 0 / 0
Регистрация: 14.01.2012
Сообщений: 42
#1

Замена цифр в тексте числительными - C++

18.12.2012, 17:26. Просмотров 586. Ответов 6
Метки нет (Все метки)

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

я так понимаю , нужно два массива .
и как то все связать с ключем case.

помогите в реализации
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.12.2012, 17:26
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Замена цифр в тексте числительными (C++):

Дан файл, содержащий текст. Сколько слов в тексте? Сколько цифр в тексте? - C++
Дан файл, содержащий текст. Сколько слов в тексте? Сколько цифр в тексте? Помогите пожалуйста

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

Заменить числа числительными - C++
Текст задачи: Имееться текстовый файл, в котором храниться некоторый текст. В тексте встречаються числа, записаные в цифровом...

Замена символов в тексте - C++
Было дано задание "Дан текст, каждый символ которого может быть малой буквой, цифрой или одним из знаков "+", "-", "*". Если в данном...

Замена слов в тексте - C++
Народ всем привет вот опять задачу не могу решить прошел недавно тему векторов вот после нее задача чесно говоря векторы не очень понел так...

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Afflicted
Обитатель форума
199 / 182 / 8
Регистрация: 28.10.2012
Сообщений: 543
18.12.2012, 17:41 #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
#include <iostream>
#include <ctype.h>
using namespace std;
 
void replace(char  str)
{
    switch(str)
    {
        case '0': cout << "ноль ";      break;
        case '1': cout << "один ";      break;
        case '2': cout << "два ";       break;
        case '3': cout << "три ";       break;
        case '4': cout << "четыре ";    break;
        case '5': cout << "пять ";      break;
        case '6': cout << "шесть ";     break;
        case '7': cout << "семь ";      break;
        case '8': cout << "восемь ";    break;
        case '9': cout << "девять ";    break;
        default: break;
    }
    cout << endl;
}
 
int main()
{
    setlocale(0, "rus");
    char str[255];
    gets(str);
 
    for (int i = 0; i < strlen(str); ++i)
        if (!isalpha(str[i]) && !ispunct(str[i]))
            replace(str[i]);
 
    system("pause");
    return 0;
}
1
Iceprera
0 / 0 / 0
Регистрация: 14.01.2012
Сообщений: 42
18.12.2012, 17:43  [ТС] #3
Afflicted, спасибо за помощь!
0
v.a.l.i.d
413 / 378 / 10
Регистрация: 21.09.2012
Сообщений: 913
18.12.2012, 17:48 #4
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Вот еще как вариант
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "Russian");
 
    const char *arr[] = {"ноль", "один", "два", "три", "четыре", "пять", "шесть", "семь", "восемь", "девять"};
    char str[100];
 
    cout << "Введите строку: ";
    cin.getline(str, 100);
 
    for (int i=0; i<strlen(str); i++)
        if (str[i]>='0' && str[i]<='9')
            cout << arr[str[i]-'0'] << " ";
        
 
    cout << endl;
    system("pause");
    return 0;               
}
1
Iceprera
0 / 0 / 0
Регистрация: 14.01.2012
Сообщений: 42
18.12.2012, 18:04  [ТС] #5
v.a.l.i.d, хороший вариант =) спасибо
0
David Sylva
1286 / 948 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
18.12.2012, 18:07 #6
Посмотрите вот по этой ссылке Вывести число прописью дам даются интересные решения данной задачи
1
Croessmah
Эксперт CЭксперт С++
13226 / 7498 / 845
Регистрация: 27.09.2012
Сообщений: 18,416
Записей в блоге: 3
Завершенные тесты: 1
18.12.2012, 18:08 #7
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Изменение исходной строки
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <memory.h>
int main(){
    setlocale(LC_ALL,"rus");
    char numstr[10][10]={"ноль","один","два","три","четыре","пять","шесть","семь","восемь","девять"};
    char str[1024]="9  abc 12  df dfgf d  D 3"; 
    for(char *p1=str;*p1;++p1){
        if(*p1>47 && *p1<58){
            char *p2=&numstr[*p1-'0'][0];
            int slen=strlen(p2);
            memmove(p1+slen+1,p1+1,strlen(p1));
            memcpy(p1,p2,slen);
            p1+=slen;*p1=(*p1)?' ':0;
        }
    }
    std::cout<<str;
    std::cin.get();
    return 0;
}
2
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.12.2012, 18:08
Привет! Вот еще темы с ответами:

Замена слова на другое во всём тексте - C++
Доброго дня! Смотрел задачи на форуме, там нужно было заменить в тексте слово &quot;мама&quot; на слово &quot;бабушка&quot;. Я написал программу, которая...

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

Замена букв в тексте из файла и запись результатов в файл - C++
Здравствуйте, помогите, пожалуйста, дописать прогу - нужно, чтобы прога читала данные из файла, заменяла в нём букву t везде на букву x и...

Подсчет количества цифр в тексте - C++
С клавиатуры вводится строка. Составить программу, которая подсчитывает количество цифр в тексте; выводит на экран слова, начинающиеся с...


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

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

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