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

Задачка - C++

Войти
Регистрация
Восстановить пароль
 
daqq
0 / 0 / 0
Регистрация: 09.01.2012
Сообщений: 14
12.02.2012, 21:27     Задачка #1
Здравствуйте, есть задачка:
"Вводится строка, потом вводится символ. Далее нужно в строке убрать все эти символы, и сместить строку на кол-во убранных символов"

Так вот, проблема если написать больше 3 одинаковых символов подряд, 1 остаётся.
Чем больше одинаковых символов, то их больше и остаётся.
Прошу у вас помощи.

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
38
39
40
41
        int size = 20;
    char *str = new char[size];
    char chars;
 
    do 
    {
        cout<<"Введите строку: ";
        cin.getline(str, size);
        cin.clear();
        cin.sync();
 
    } while (strlen(str) <= 0);
 
    cout<<"Введите символ: ";
    cin.get(chars);
    cin.clear();
    cin.sync();
 
    int j = 0;
 
    for(int i = 0; str[i] != NULL; i++)
    {
        if (str[i] == chars)
        {
            j = i;
 
            while(str[j] != NULL)
            {
                str[j] = str[j + 1];
                j++;
            }
        }
    }
 
    int lenStr = strlen(str);
    str[lenStr] = NULL;
 
    cout<<"Ваше слово без выбранного символа: "<< str;
    cout<<endl<<"Длина строки: "<< lenStr<<endl;
 
    system("pause");
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.02.2012, 21:27     Задачка
Посмотрите здесь:

Задачка на C++ C++
Задачка по С++ C++
Задачка C++
задачка на с++ C++
Задачка C++
задачка с++ C++
C++ задачка
Задачка C++
задачка C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
igorrr37
 Аватар для igorrr37
1600 / 1228 / 121
Регистрация: 21.12.2010
Сообщений: 1,875
Записей в блоге: 7
12.02.2012, 21:42     Задачка #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C
1
2
3
4
5
6
7
8
9
#include <stdio.h>
 
int main()
{
    char s[] = "&&dfvt *&ard &hg&", c = '&', *a = s, *b = s;
    for(; *b = *a; *b != c ? ++a, ++b : ++a);
    puts(s);
    return 0;
}
remarkes
300 / 223 / 13
Регистрация: 01.07.2011
Сообщений: 809
Записей в блоге: 1
12.02.2012, 22:35     Задачка #3
igorrr37, шикарно
Yandex
Объявления
12.02.2012, 22:35     Задачка
Ответ Создать тему
Опции темы

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