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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.62
Tanya32
0 / 0 / 0
Регистрация: 15.05.2012
Сообщений: 10
#1

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

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

Дана строка. Преобразовать ее, удалив каждый символ «*» и повторив каждый символ, отличный от «*».
Помогите пожалуйста.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.05.2012, 12:41
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Преобразовать строку, удалив каждый символ «*» и повторив каждый символ, отличный от «*» (C++):

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

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

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

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

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

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

2
Besalelon
Сообщений: n/a
19.05.2012, 14:37 #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
#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
1647 / 1275 / 133
Регистрация: 21.12.2010
Сообщений: 1,932
Записей в блоге: 7
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;
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.05.2012, 15:02
Привет! Вот еще темы с ответами:

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

Выводить строку, сокращая каждый раз на 1 символ, пока в строке не останется 1 символ - C++
' Напишите программу, которая вводит строку и выводит её, сокращая каждый раз на 1 символ до тех пор, пока в строке не останется 1 символ....

Зашифровать строку Char, заменив каждый символ на его ASCII код - C++
Собственное весь вопрос в заголовке темы. Вся задача. Весь код. Текущие функции кодирование декодирования не устраивают,...

Ввести символьную строку. Распечатать каждый символ массива с новой строки - C++
Ввести символьную строку. Распечатать каждый символ массива с новой строки.


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

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

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