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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.87
Славик___077
21 / 21 / 3
Регистрация: 30.01.2011
Сообщений: 119
#1

Заменить пробелы знаком нижнего подчеркивания - C++

18.04.2011, 23:51. Просмотров 2335. Ответов 9
Метки нет (Все метки)

как заменить пробелы знаком _ . Этот код ничего не заменяет (Это присваивание потом заношу в структуру(PhoneBook->data=b))
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
char b[100];
cin>>b;
 
 for(int z32=0;z32<100;z32++)
 {
  if(b[z32]==' ')
  { cout<<"\n do:"<<b[z32];
    b[z32]='_';
    cout<<"\n posle:"<<b[z32];
 
 
   }
else{
    }}
1
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.04.2011, 23:51
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Заменить пробелы знаком нижнего подчеркивания (C++):

Строки. Преобразовать строку, заменяя каждую цифру соответствующим ей числом символов нижнего подчеркивания - C++
Нужно преобразовать строку, заменяя каждую цифру соответствующим ей числом символов нижнего подчеркивания. Например: «3 слона» -&gt; «_ _...

Дан тестовый файл. Вывести его содержимое в другой файл, заменив каждое вхождение пробела на символ нижнего подчеркивания. - C++
Дан тестовый файл. Вывести его содержимое в другой файл, заменив каждое вхождение пробела на символ нижнего подчеркивания. Вывести оба...

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

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

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

Замените пробелы символом подчеркивания - C++
Напишите пожалуйста программу по задаче если кому не трудно!Буду благодарна! ) Введите с клавиатуры строку символов, после чего...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
ForEveR
В астрале
Эксперт С++
7972 / 4734 / 321
Регистрация: 24.06.2010
Сообщений: 10,542
Завершенные тесты: 3
18.04.2011, 23:52 #2
Славик___077, Еще бы) Ввод то идет без пробелов, какие пробелы он заменять будет? Используйте
C++
1
cin.getline(b, 99);
1
Славик___077
21 / 21 / 3
Регистрация: 30.01.2011
Сообщений: 119
19.04.2011, 00:14  [ТС] #3
если по твоему то так надо как я понял
C++
1
2
3
cin>>b;
cin.getline(b,99);
....
если так то когда я ввожу ivan ivanov то оно мне заменяет так _ivanov
как сделать чтобы полностью изменяла ivan_ivanov
0
asics
Freelance
Эксперт С++
2847 / 1784 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
19.04.2011, 00:15 #4
Славик___077, Просто оставь
C++
1
cin.getline(b,99);
без
C++
1
cin>>b;
1
Славик___077
21 / 21 / 3
Регистрация: 30.01.2011
Сообщений: 119
19.04.2011, 00:22  [ТС] #5
если без cin>>b;то вообще пропускается этот шаг
1
grrrrr
45 / 45 / 7
Регистрация: 21.04.2009
Сообщений: 265
19.04.2011, 00:26 #6
Как сказали выше:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
    char b[100];
    cin.getline(b, 100);
    
    cout << b << "\n";
 
    for(int z32=0;z32<100;z32++)
    {
       if(b[z32]==' ')
       {           
          b[z32]='_';         
       }
    }
    cout << b << "\n";
2
Славик___077
21 / 21 / 3
Регистрация: 30.01.2011
Сообщений: 119
19.04.2011, 00:30  [ТС] #7
grrrrr, ответ тот же
0
grrrrr
45 / 45 / 7
Регистрация: 21.04.2009
Сообщений: 265
19.04.2011, 00:33 #8
Славик___077, у меня все компилится и результат по Вашему задании.
1
asics
Freelance
Эксперт С++
2847 / 1784 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
19.04.2011, 00:33 #9
Цитата Сообщение от Славик___077 Посмотреть сообщение
если без cin>>b;то вообще пропускается этот шаг
Попробуй написать так
C++
1
2
cin.sync();
cin.getline(b, 99);
1
Славик___077
21 / 21 / 3
Регистрация: 30.01.2011
Сообщений: 119
19.04.2011, 18:15  [ТС] #10
большое всем спасибо заработало

Добавлено через 17 часов 36 минут
подскажите еще как сделать из этого функцию(знаю вопрос тупой)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
 
cin.sync();
  cin.getline(b, 100);
  
 for(int z32=0;z32<100;z32++)
    {
       if(b[z32]==' ')
       {
          b[z32]='_';
       }
    }  
   
 PhoneBook->name=b;
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.04.2011, 18:15
Привет! Вот еще темы с ответами:

Строки. Заменить символы - цифры на символ '*'. В заданной строке заменить подряд идущие пробелы - C++
П.5.16.Правил Запрещено создавать темы с множеством вопросов во всех разделах, кроме разделов платных услуг. Один вопрос - одна тема. ...

В тексте заменить все символы, не являющиеся буквами, знаком нижнее подчеркивание - C++
Предусмотрите ввод с клавиатуры произвольной строки символов. На экран вывести введенную строку и результат ее обработки. В тексте заменить...

В заданной матрице заменить максимальный элемент каждой строки на такой же с противоположным знаком - C++
Дан двумерный массив размера 5х6, заполненный случайным образом. Заменить максимальный элемент каждой строки на такой же с...

Заменить пробелы на точки - C++
Дана строка, состоящая из русских слов, разделенных пробелами (одним или несколькими). Вывести строку, содержащую эти же слова, ...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
19.04.2011, 18:15
Ответ Создать тему
Опции темы

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