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

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

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

Дана строка S. На её основе создать новую строку символы, которая вместо цифр будет содержать их название. - C++

22.06.2012, 06:49. Просмотров 622. Ответов 5
Метки нет (Все метки)

Дана строка S. На её основе создать новую строку символы, которая вместо цифр будет содержать их название.Например. Для S=" слово1язык4параграф" новой строкой будет "словоодинязыкчетырех параграф,"
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.06.2012, 06:49     Дана строка S. На её основе создать новую строку символы, которая вместо цифр будет содержать их название.
Посмотрите здесь:

Дана строка, состоящая из букв, цифр, запятых, точек, знаков «+» и «–». Выделить подстроку, которая соответствует записи целого числа. C++
C++ Дана строка слов, разделенных пробелами. Сформируйте новую строку, вставив перед каждым вхождением слова "and" запятую
C++ Дана строка S. Создать новую строку, состоящую из символов S, распо- ложенных в обратном порядке.
C++ Дана строка S и натуральное число N. Создать новую строку, включив в нее все слова из N букв исходной строки
Дана строка символов из цифр от 0 до 9. Составить новую строку... C++
Создать третью строку, которая должна содержать символы, присутствующие одновременно в обеих исходных строках C++
Дана строка символов и некоторый символ sym. Сформируйте новую строку, вставив после каждого вхождения символа sym запятую. C++
C++ Создать строку, которая будет содержать набор символов содержащихся в файле
C++ Дана строка S. Создать новую строку, состоящую из символов S, у кото- рой к каждому пробелу добавлено два пробела
C++ Дана строка S. Создать новую строку, состоящую из символов S, у которой к каждому пробелу добавлено два пробела
C++ Создать новую строку, содержащую вначале символы, а затем цифры из S
Дана строка, состоящая из четырех слов. Сформировать новую строку, где первое и последнее слова поменяются C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zitxbit
Master C/C++
87 / 739 / 75
Регистрация: 11.04.2012
Сообщений: 971
22.06.2012, 10:17     Дана строка S. На её основе создать новую строку символы, которая вместо цифр будет содержать их название. #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
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <ctype.h>
#include <locale.h>
 
int main()
{
    setlocale(LC_ALL,"Russian");
 
    static char str1[256] = "слово1язык4параграф";
 
    char* nums[10] = { "нуль", "один", "два", "три", "четыре", 
        "пять", "шесть", "семь", "восем", "девять" };
 
    char str2[256] = "\0"; int q = 0;
    for (int i = 0; str1[i] != '\0'; i++)
        if (str1[i] >= 'а' && str1[i] <= 'я') 
            str2[q++] = str1[i];
        else {
            int val = str1[i] - '0';
            strcat(str2, nums[val]);
            q+=strlen(nums[val]);
        }
 
    printf("%s\n",str2);
 
    _getch();
 
    return 0;
}
Admiral1
0 / 0 / 0
Регистрация: 22.06.2012
Сообщений: 6
26.06.2012, 10:53  [ТС]     Дана строка S. На её основе создать новую строку символы, которая вместо цифр будет содержать их название. #3
Разобрать функции, которые реализуют алгоритмы задач из этого задания. Исходные данные для вычислений должны передаваться через список параметров, а результат - через имя функции?
Joeymax
891 / 286 / 39
Регистрация: 31.03.2012
Сообщений: 759
26.06.2012, 12:14     Дана строка S. На её основе создать новую строку символы, которая вместо цифр будет содержать их название. #4
Можно немножко переписать цикл и будет выводить в том числе и для других символов в строке. Например пробелов. Впрочем из сообщения ТС этого может и не быть
C++
1
2
3
4
5
6
7
8
9
char s[255] = "слово 1 язык 4 параграф";
char *n[10] = {"нуль", "один", "два", "три", "четыре", "пять", "шесть", "семь", "восемь", "девять"};
for (int i=0; s[i] != '\0'; i++) {
  if (s[i] >= '0' && s[i] <= '9') {
    std::cout << n[s[i] - '0'];
  } else {
    std::cout << s[i];
  }
}
Aesonet
23 / 23 / 1
Регистрация: 04.04.2012
Сообщений: 119
26.06.2012, 12:15     Дана строка S. На её основе создать новую строку символы, которая вместо цифр будет содержать их название. #5
C++
1
int val = str1[i] - '0';
А что делает эта строка ?
David Sylva
1285 / 947 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
26.06.2012, 18:28     Дана строка S. На её основе создать новую строку символы, которая вместо цифр будет содержать их название. #6
целочисленной переменной val присваивается значение str1[i] минус символ 0.
Yandex
Объявления
26.06.2012, 18:28     Дана строка S. На её основе создать новую строку символы, которая вместо цифр будет содержать их название.
Ответ Создать тему
Опции темы

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