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

Выполнить замену и удаление символов в строке. [CPP] - C++

Восстановить пароль Регистрация
 
Xab3r
0 / 0 / 0
Регистрация: 06.06.2012
Сообщений: 34
06.06.2012, 17:48     Выполнить замену и удаление символов в строке. [CPP] #1
Дана строка. Преобразовать её, заменив точками (.) все запятые (,), встречающиеся среди первых n/2 символов, и заменив точками (.) все восклицательные знаки (!), встречающиеся среди оставшихся символов. И удалить все знаки вопроса (?).
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.06.2012, 17:48     Выполнить замену и удаление символов в строке. [CPP]
Посмотрите здесь:

C++ Выполнить сортировку символов в строке
C++ Программа на замену в строке
Выполнить сортировку символов в строке. C++
Программа, позволяющяя для заданного натурального пятизначного числа выполнить замену его чётных цифр на их дополнения до 9 C++
C++ Создание программы со своей библиотекой ( удаление элементов с N по M в строке и удаление лишних пробелов(если 2 и более оставить один))
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
BF_KARATEL
 Аватар для BF_KARATEL
11 / 11 / 0
Регистрация: 01.06.2012
Сообщений: 114
06.06.2012, 18:04     Выполнить замену и удаление символов в строке. [CPP] #2
Удаление не знаю а замену можно так

C++
1
2
3
4
5
6
7
8
9
10
....................
for(i=0;(strlen(s)-1)/2;i++)
{
  if(s[i]==',') s[i]='.';
}
for(i=0;s[i];i++)
{
  if(i>(strlen(s)-1)/2) 
             { if (s[i]=='!') s[i]='.';}
}
Xab3r
0 / 0 / 0
Регистрация: 06.06.2012
Сообщений: 34
07.06.2012, 08:55  [ТС]     Выполнить замену и удаление символов в строке. [CPP] #3
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h>
#include <string.h>
#include <conio.h>
void main()
{
char S[10];
int i;
clrscr();
printf("DAVAI PISHI:");
gets(S);
for(i=0;i<=(strlen(S)-1)/2;i++)
if(S[i]==':') S[i]='.';
for(i=0;S[i];i++)
if(i>(strlen(S)-1)/2)
if (S[i]=='!') S[i]='.';
printf("%s",S);
getch();
}
А как удалить все запятые?
BF_KARATEL
 Аватар для BF_KARATEL
11 / 11 / 0
Регистрация: 01.06.2012
Сообщений: 114
07.06.2012, 09:13     Выполнить замену и удаление символов в строке. [CPP] #4
я сталкивался с удалением но там надо было четные символы я их просто сделал так:
запусти попробуй ее у себя там дополни конечно может что и себе придумаешь.
А так я не знаю на счет удаления сам ищу
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
..............................................
t=1;
for(i=1;i<=(strlen(s)-1)/2;i++)
 {
    s[i]=s[i+t];
    t++;
}
for(i=0;s[i];i++)
{
  if(i>(strlen(s)-1)/2) 
      s[i]='\0';
}
..........................................
Xab3r
0 / 0 / 0
Регистрация: 06.06.2012
Сообщений: 34
11.06.2012, 07:15  [ТС]     Выполнить замену и удаление символов в строке. [CPP] #5
Поставил замену на пробелы, вместо удаления, прокатило)
Xab3r
0 / 0 / 0
Регистрация: 06.06.2012
Сообщений: 34
19.06.2012, 13:30  [ТС]     Выполнить замену и удаление символов в строке. [CPP] #6
Составьте пожалуйста блок-схему к этой задачи.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.06.2012, 19:51     Выполнить замену и удаление символов в строке. [CPP]
Еще ссылки по теме:

C++ Как можно осуществить замену слова в строке? (например, дом на мир и обратно)
C++ В строке выполнить замену всех символов
Как сделать замену слова в строке без использования функций библиотеки string? C++

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

Или воспользуйтесь поиском по форуму:
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4919 / 2662 / 243
Регистрация: 29.11.2010
Сообщений: 7,399
19.06.2012, 19:51     Выполнить замену и удаление символов в строке. [CPP] #7
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <string>
#include <algorithm>
 
int main()
{
    std::string str = "abc,de.f?g!hi!,jk &lm !nop?";
    std::cout<< str<< std::endl;
    std::string::size_type pos = 0;
    std::replace(str.begin(), str.end() - str.length()/2, ',', '.');
    std::replace(str.end() - str.length()/2, str.end(), '!', '.');  
    std::cout<< str<< std::endl;
    str.erase(std::remove(str.begin(), str.end(), '?'), str.end() );
    std::cout<< str<< std::endl; 
    return 0;
}
Yandex
Объявления
19.06.2012, 19:51     Выполнить замену и удаление символов в строке. [CPP]
Ответ Создать тему
Опции темы

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