0 / 0 / 0
Регистрация: 01.04.2016
Сообщений: 76
1

В строке заменить каждый символ * числом, соответствующим номеру вхождения этого символа в строку

13.12.2016, 13:16. Показов 4667. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
в заданной строке заменить каждый символ "*" числом, соответствующим номеру по порядку вхождения этого символа в строку
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h>
#include <string.h>
#include <cstdlib>
#include <iostream>
 
 
int main(void){
    setlocale(LC_ALL, "RUS");
    char first[] = "b*cdef*gh", second[] = "*", *p;      
    printf("исходная строка: %s\символ: %s\n", first, second);
    for ( p = first; *p; ++p )
        if ( strchr(second, *p) )
            printf("встречается %c\n", *p);
        int m = strlen(first);
   system("PAUSE");
    return EXIT_SUCCESS;
    
}
Добавлено через 1 минуту
в строке находит символ, а как именно заменить на номер не получается(
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.12.2016, 13:16
Ответы с готовыми решениями:

В заданой строке изменить каждый символ ‘*’ числом, которое отвечает номеру за порядком вхождения данного символа строки
В заданой строке изменить каждый символ ‘*’ числом, которое отвечает номеру за порядком вхождения...

В строке заменить каждый символ «!» числом, равным индексу этого символа в строке
В заданной строке заменить каждый символ «!» числом, равным индексу этого символа в строке. ...

Замена символа в строке на число соответствующему номеру по порядку вхождения этого символа в строку
В заданной строке заменить каждый символ «*» числом, соответствующим номеру по порядку вхождения...

Заменить каждый символ массива встречающийся после первого вхождения символа * на символ -
Даны натуральное число n, символы s1,…,sn. Преобразовать последовательность s1,…,sn: если нет...

3
7780 / 6550 / 2981
Регистрация: 14.04.2014
Сообщений: 28,608
13.12.2016, 15:18 2
Если номер позиции не превышает 9, то:
C++
1
2
3
    for ( p = first; p != NULL;)
        if ( p = strchr(p, second[0]) )
            *p = p - first;
0
0 / 0 / 0
Регистрация: 01.04.2016
Сообщений: 76
13.12.2016, 16:18  [ТС] 3
а если превышает?
0
7780 / 6550 / 2981
Регистрация: 14.04.2014
Сообщений: 28,608
13.12.2016, 17:41 4
Тогда нужно либо с конца идти, либо суммировать величину сдвига и вычитать её из найденной позиции.
0
13.12.2016, 17:41
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.12.2016, 17:41
Помогаю со студенческими работами здесь

Заменить введенный символ от 0 до 9 соответствующим числом
4)Написать программу с использованием оператора switch в соответствии с номером своего варианта....

Заменить в строке символ 'q' на номер вхождения в строку в обратном порядке
Вводится производная строка, заменить в ней символ 'q' на номер вхождения в строку в обратном...

Заменить все символы "*" числом, совпадающим с порядковым номером вхождения данного символа в строку
В заданной строке мне нужно заменить все &quot;*&quot; числом, которое будет отвечать номеру за порядком...

Дан символ C и строки S, S0. После каждого вхождения символа C в строку S вставить строку S0
Дан символ C и строки S, S0. После каждого вхождения символа C в строку S вставить строку S0. ...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru