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

Удалить в строке все буквы “b”, непосредственно за которыми идет цифра - C++

Восстановить пароль Регистрация
 
Akana
0 / 0 / 0
Регистрация: 08.12.2012
Сообщений: 29
20.12.2012, 23:33     Удалить в строке все буквы “b”, непосредственно за которыми идет цифра #1
Подскажите,что не так?Выполнить задание не используя стандартные операции и функции для строк символов.
Удалить в строке все буквы “b”, непосредственно за которыми идет цифра.
Код вроде как написала,программа копилируется и ничего не выдаёт.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include "stdafx.h"
#include <iomanip>
#include <stdlib.h>
#include <iostream> 
#include <string>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
    int i,g;
    char s[]="b3fjdb6jbb8";
    for (i=0;s[i]!='/0';i++)
        {if (s[i]=='b' && (s[i+1]>='0' && s[i+1]<='9'))
            for ( g=i+1;g!=0;g++)
                { s[g-1]=s[g]; 
                 s[g]=0;
                  i--;
                 
    }}
    for(i=0;s[i]!='/0';i++)
    cout<<s[i];
           return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.12.2012, 23:33     Удалить в строке все буквы “b”, непосредственно за которыми идет цифра
Посмотрите здесь:

C++ Дан массив символьных строк. В каждой строке удалить путем сдвига все латинские буквы.
C++ Дан масив символьных строк, в каждой строке удалить путём сдвига все латинские буквы
Удалить все строки, в которых есть хотя бы одна цифра C++
C++ удалить все элементы в которых есть цифра 3
В строке заменить все буквы «О» на «Ъ», а буквы «Е» – на случайные символы C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
komand0
 Аватар для komand0
8 / 8 / 0
Регистрация: 20.06.2012
Сообщений: 225
20.12.2012, 23:42     Удалить в строке все буквы “b”, непосредственно за которыми идет цифра #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
int _tmain(int argc, _TCHAR* argv[])
{
int i,g;
char s[]="b3fjdb6jbb8\0";
for (i=0;s[i]!='\0';i++)
{if (s[i]=='b' && s[i+1] &&(s[i+1]>='0' && s[i+1]<='9'))
for ( g=i+1;g!=NULL;g++)
{ s[g-1]=s[g]; 
s[g]=NULL;
}
 
}
for(i=0;s[i]!='\0';i++)
cout<<s[i];
return 0;
}
 Комментарий модератора 
Не забывайте выделять код тегами подсветки!
Akana
0 / 0 / 0
Регистрация: 08.12.2012
Сообщений: 29
21.12.2012, 01:40  [ТС]     Удалить в строке все буквы “b”, непосредственно за которыми идет цифра #3
Всё равно ничего не выводиться на консоль...
TrueBit
 Аватар для TrueBit
95 / 95 / 12
Регистрация: 19.11.2012
Сообщений: 195
21.12.2012, 05:04     Удалить в строке все буквы “b”, непосредственно за которыми идет цифра #4
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
#include <iostream> 
using namespace std;
 
int main()
{
    int i,g;
    char s[]="b3fjdb6jbb8";
    //char s[]="bbbbb7";
    //char s[]="aaabbb7";
    
    /*for(i=(sizeof(s)/sizeof(char))-1,g=0; i>0; i--) { // если нужно удалить последовательность символов b, после которых цифра(н-р bbbbb7 останется 7)
        if(s[i-1]=='b' && s[i]>='0' && s[i]<='9') {
            for(g=i; s[g]; g++)
                s[g-1]=s[g];
            s[g-1]='\0';
        }
    }*/
    for(i=1; s[i]; i++) {
        if(s[i-1]=='b' && s[i]>='0' && s[i]<='9') { // если нужно удалить только одну букву b перед цифрой(н-р aaabbb7 останется aaabb7)
            for(g=i; s[g]; g++)
                s[g-1]=s[g];
            s[g-1]='\0';
        }
    }
    for(i=0;s[i];i++)
        cout<<s[i];
    getchar();
}
Akana
0 / 0 / 0
Регистрация: 08.12.2012
Сообщений: 29
22.12.2012, 09:58  [ТС]     Удалить в строке все буквы “b”, непосредственно за которыми идет цифра #5
Спасибо,всё работает))
Yandex
Объявления
22.12.2012, 09:58     Удалить в строке все буквы “b”, непосредственно за которыми идет цифра
Ответ Создать тему
Опции темы

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