Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/47: Рейтинг темы: голосов - 47, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 15.05.2012
Сообщений: 10
1

Преобразовать строку, удалив каждый символ «*» и повторив каждый символ, отличный от «*»

19.05.2012, 12:41. Показов 8428. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Дана строка. Преобразовать ее, удалив каждый символ «*» и повторив каждый символ, отличный от «*».
Помогите пожалуйста.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
19.05.2012, 12:41
Ответы с готовыми решениями:

Преобразовать строку, удалив каждый символ * и повторив каждый символ, отличный от *
Дана строка. Преобразовать ее, удалив каждый символ * и повторив каждый символ, отличный от *. Помогите решить, писал тоже самое на...

Преобразовать строку, удалив каждый символ * и повторив каждый символ, отличный от *
Кто может решить задачки по С++? Решите плиз 1. Дана строка. Указать те слова, которые содержат хотябы одну букву k. 2. Дана строка,...

Строка: Преобразовать строку, удалив каждый символ звёздочки и повторив каждый символ, отличный от звёздочки
Дана строка. Преобразовать её, удалив каждый символ звёздочки и повторив каждый символ, отличный от звёздочки. Нужно написать программу...

2
Besalelon
19.05.2012, 14:37 2
Лучший ответ Сообщение было отмечено Tanya32 как решение

Решение

Здравствуй. Вот, набросал примерчик:

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
#include <string.h>
#include <iostream>
 
using namespace std;
 
void del_char(char in[], int num)
{
    for (int i = num; i < strlen(in); i++)
        in[i] = in[i+1]; // Двигаем содержимое строки после нужного нам символа на 1 символ влево
}
 
void repeat_char(char in[], int num)
{
    for (int i = strlen(in) + 1; i > num + 1; i--)
        in[i] = in[i-1]; // Двигаем содержимое строки после нужного нам символа вправо
    in[num+1] = in[num]; // Удваиваем символ
}
 
int main()
{
    char string[50];
    cin >> string;
    for (int i = 0; i < strlen(string); i++)
    {
        if (string[i] == '*')
        {
            del_char(string, i); // Если символ равен *, то удаляем
            i--; // Двигаем переменную цикла, т.к. строка сдвинулась влево
        } else {
            repeat_char(string, i); // Если нет, то удваиваем
            i++; // Двигаем переменную цикла, т.к. строка сдвинулась вправо
        }
    }
    cout << string << endl;
    system("Pause");
    return 0;
}
Код неидеален, но задачу выполняет.
 Аватар для igorrr37
2867 / 2014 / 991
Регистрация: 21.12.2010
Сообщений: 3,720
Записей в блоге: 15
19.05.2012, 15:02 3
C++ Скопировано
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
 
int main()
{
    char s[128], res[256], *a = s, *b = res;
    std::cin.getline(s, sizeof(s));
    for(; *b = *a; ++a)
    {
        if('*' != *b)
        {
            *++b = *a;
            ++b;
        }
    }
    std::cout << res << std::endl;
    return 0;
}
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.05.2012, 15:02
Помогаю со студенческими работами здесь

Преобразовать строку, удалив каждый символ "*" и повторив каждый символ, отличный от "*"
Дана строка. Преобразовать ее, удалив каждый символ * и повторив каждый символ. Отличный от *. Помогите,пожалуйста,найти ошибку в...

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

Преобразовать строку, вырезав каждый символ "*" и повторив каждый символ, отличный символ "*"
Здравствуйте,уважаемые форумчане!Помогите пожалуйста с написанием программ-а то завтра сдать уже надо... Препод ставит такие требования: ...

Дана символьная строка. Преобразовать ее, удалив каждый символ «*» и повторив
Дана символьная строка. Преобразовать ее, удалив каждый символ «*» и повторив. Проблема в том, что это надо сделать именно с использованием...

Строка: Преобразовать строку, удалив каждый символ * и повторив каждый символ, отличный от *
Дана строка символов. Преобразовать строку, удалив каждый символ * и повторив каждый символ, отличный от *.


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Циклы for в Python
py-thonny 17.03.2025
Существует множество ситуаций, когда нам нужно выполнить одно и то же действие несколько раз. Цикл for в Python — настоящий рабочий конь для большинства программистов. Если вам нужно пройтись по всем. . .
Предсказание ветвлений - путь к высокопроизводи­тельному C++
NullReferenced 17.03.2025
В высокопроизводительном программировании на C++ каждый такт процессора на счету. Когда речь заходит о разработке систем с низкой задержкой — будь то высокочастотная торговля, обработка потоковых. . .
Паттерн CQRS в C#
UnmanagedCoder 17.03.2025
Создание сложных корпоративных приложений часто требует нестандартных подходов к архитектуре. Один из таких подходов — паттерн CQRS (Command Query Responsibility Segregation), предлагающий простую,. . .
Паттерн Цепочка ответственности в C#
UnmanagedCoder 17.03.2025
Цепочка ответственности — это поведенческий паттерн проектирования, который позволяет передавать запросы последовательно по цепочке потенциальных обработчиков, пока один из них не обработает запрос. . . .
Создаем микросервисы с NestJS, TCP и Typescript
run.dev 17.03.2025
NestJS — фреймворк, который значительно упрощает создание серверных приложений на Node. js. Его прелесть в том, что он комбинирует концепции ООП, функционального программирования и предлагает. . .
Гексагональная архитектура со Spring Boot
Javaican 17.03.2025
Если вы когда-нибудь сталкивались с ситуацией, когда внесение простых изменений в базу данных или пользовательский интерфейс заставляло вас переписывать весь код, то вы точно оцените элегантность. . .
Позиционировани­е Kafka Consumer и Seek-операции
Javaican 17.03.2025
Что же такое Consumer Seek в Kafka? По сути, это API-метод, который позволяет программно указать, с какой позиции (offset) Consumer должен начать или продолжить чтение данных из партиции. Без этого. . .
Python NumPy: Лучшие практики и примеры
py-thonny 17.03.2025
NumPy (Numerical Python) — одна из ключевых библиотек для научных вычислений в Python. Она превращает Python из просто удобного языка общего назначения в среду для проведения сложных математических. . .
Java Micronaut в Docker: контейнеризация с Maven и Jib
Javaican 16.03.2025
Когда речь заходит о микросервисной архитектуре на Java, фреймворк Micronaut выделяется среди конкурентов. Он создан с учётом особенностей облачных сред и контейнеров, что делает его идеальным. . .
Управление зависимостями в Java: Сравнение Spring, Guice и Dagger 2
Javaican 16.03.2025
Инъекция зависимостей (Dependency Injection, DI) — один из фундаментальных паттернов проектирования, который радикально меняет подход к созданию гибких и тестируемых Java-приложений. Суть этого. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
Выделить код Копировать код Сохранить код Нормальный размер Увеличенный размер