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

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

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

Замена символов в строке - C++

15.10.2013, 02:55. Просмотров 1825. Ответов 4
Метки нет (Все метки)

В общем, я не понимаю логики программирования, потому что я идиот
Задание: Ввести строку, символ который заменить и символ на который заменить, произвести замену.
Естественно я ничерта не понял как это делать. Предлагается использовать функции из string.h
моя попытка
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
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
# include <string.h>
 
 
int main()
{
    setlocale(LC_ALL, "Russian");
    char buffer[100]; // ñîçäГ*ГҐГІГ±Гї Г¬Г*Г±Г±ГЁГў
        memset(buffer, 0, sizeof(buffer));
        cout<<"Ââåäèòå ñòðîêó:\n"; //ââîäèì ñòðîêó
        gets(buffer);
    char c; int i=0,k=0;
    cout<<"Ââåäèòå ñèìâîë êîòîðûé Г§Г*ìåГ*ГїГҐГ¬:\n";
    cin>>c;
    char z;
    cout<<"Ââåäèòå ÍÎÂÛÉ ñèìâîë:\n";
    cin>>z;
    
    while(buffer[i])
    {if (strcmp(buffer[i++],c)=0 
    strcpy(buffer[i],z);
    
    
}
puts(buffer);
    system("pause");
}
спасайте

Добавлено через 52 минуты
Неужели все уже спят?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.10.2013, 02:55     Замена символов в строке
Посмотрите здесь:

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

Замена символов в строке - C++
Здраствуйте! У меня такая задачка: Дано натуральное число n и символы s1,s2..sn.заменить каждую точку многоточием. Заранее благодарен! ...

Замена символов в строке с while - C++
Здравствуйте. Подскажите,пожалуйста,по задаче: Используйте серийный оператор for для замены всех символов строки на X. Как эти символы...

Замена символов в строке - C++
Помогите решить задачу. Дана строка. Нужно заменить символ &quot;s&quot; на &quot;svb&quot;.

Замена символов в строке - C++
Не получается сделать замену символов. Если в строке есть буква &quot;H&quot; мне нужно заменить её на &quot;HOH&quot;. Вот код: #include &lt;iostream&gt; using...

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

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
mytilus
82 / 82 / 8
Регистрация: 04.10.2012
Сообщений: 331
15.10.2013, 03:23     Замена символов в строке #2
Вы сравниваете два символа функцией strcmp, которой сравнивают не символы, а строки. Поэтому ничего и не работает. К тому же у вас достаточно частая ошибка в строке 22 - "=" вместо "==". Да и скобка там пропущена...
Плюс ко всему в строке 22 к i прибавляется единица. Это значит, что в строке 23 вы указываете не тот же символ, а следующий.
Короче, замените строки 21-26 на:
C++
1
for (; buffer[i]; i++) if (buffer[i] == c) buffer[i] = z;
kirill_mihalkov
0 / 0 / 0
Регистрация: 15.10.2013
Сообщений: 6
15.10.2013, 14:11     Замена символов в строке #3
C++
1
2
3
4
5
6
7
8
9
char * substr(const char *src, int from, int size) 
{
    char * c_TmpStr = new char[size + 1];
    int j = 0;
    for (int i = from; i < from + size; i++)
        c_TmpStr[j++] = src[i];
    c_TmpStr[size] = 0;
    return c_TmpStr;
}
Используя этот код можно добиться нужного результата.
mytilus
82 / 82 / 8
Регистрация: 04.10.2012
Сообщений: 331
15.10.2013, 18:29     Замена символов в строке #4
kirill_mihalkov, ваша функция возвращает подстроку, а автору требуется найти все вхождения указанного символа и заменить его на другой. Тут такую функцию надо:
C++
1
2
3
void __inline ReplaceChar(char *Str, const char Old, const char New) {
  for (int index = 0; Str[index]; index++) if (Str[index] == Old) Str[index] = New;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.10.2013, 20:52     Замена символов в строке
Еще ссылки по теме:

Замена символов в строке - C++
Доброго времени суток. Есть такой код. char text=&quot;hello world&quot;; Как заменить слово &quot;world&quot; в этой строке на слово &quot;Mike&quot;. Искал в...

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

Замена символов в строке - C++
Всем здрасте! Вот тут есть задача: Дается 3 строки. Надо найти 2-ю строку в 1-ой и заменить ее на 3-ю. Мое решение не проходит по...

Замена в строке символов - C++
&quot;Заменить в строке все вхождения 'abc' на 'xy', а 'mm' на '1234'&quot;. Буду благодарна за оказанную помощь. проблема в том,что я не знаю как...

Замена символов в строке - C++
Как заменить первый символ в строке &quot;k&quot; на &quot;c&quot; ? И последний &quot;с&quot; на &quot;k&quot; ? Вообще ума не приложу, помогите...

Замена символов в строке - C++
Каким образом выполнять замену в строке. Очень много читал но ничего не понял. Есть какой нибудь простой пример?


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

Или воспользуйтесь поиском по форуму:
kamre
126 / 130 / 4
Регистрация: 25.12.2011
Сообщений: 443
15.10.2013, 20:52     Замена символов в строке #5
Цитата Сообщение от Rass7et Посмотреть сообщение
Ввести строку, символ который заменить и символ на который заменить, произвести замену.
Все же просто:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <string>
#include <algorithm>
#include <iostream>
 
using namespace std;
 
int main() {
    cout << "Enter string: ";
    string s;
    getline(cin, s);
 
    cout << "Enter replaced char: ";
    char from;
    cin >> from;
 
    cout << "Enter replacing char: ";
    char to;
    cin >> to;
 
    replace(begin(s), end(s), from, to);
 
    cout << "After replacement: \"" << s << "\"" << endl;
}
Enter string: asdfghasdfghhh
Enter replaced char: h
Enter replacing char: q
After replacement: "asdfgqasdfgqqq"
Yandex
Объявления
15.10.2013, 20:52     Замена символов в строке
Ответ Создать тему
Опции темы

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