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

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

Войти
Регистрация
Восстановить пароль
 
Hardcore
4 / 4 / 0
Регистрация: 24.10.2010
Сообщений: 200
#1

Замена в строке восклицательного знака на точку - C++

02.11.2010, 14:11. Просмотров 865. Ответов 8
Метки нет (Все метки)

Надо написать функцию которает поменяет влюбом тексте все "!" знаки на "."
надо использовать указатели.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.11.2010, 14:11     Замена в строке восклицательного знака на точку
Посмотрите здесь:

Определить наличие восклицательного знака в вводимой строке - C++
Вводится набор символов, если есть восклицательный знак, выводится true, если нет - false. #include "stdafx.h" #include <iostream> ...

Определить в строке количество пробелов до первого восклицательного знака - C++
Дана строка символов.определить количество пробелов до первого восклицательного знака.если восклицательного знака нет,то напечатать...

Найти методом пошагового прохождения по аргументу точку, в которой происходит смена знака функции - C++
Упрощенная версия программы. Она должна найти методом пошагового прохождения с одного конца по другой конец отрезка точку, в которой...

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

Как найти количество символов в строке до определённого знака? - C++
есть много разных строк. как в них найти количество символов до определенного знака? в моем случае до : понимаю, что нужен цикл ...

Необходимо чтобы функция new добавляла к строке 3 знака восклицания - C++
Всем привет! Необходимо чтобы функция new добавляла к строке 3 знака восклицания. Так как расширить старый массив мы не можем, нужно...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Lerny
56 / 56 / 3
Регистрация: 14.03.2010
Сообщений: 151
02.11.2010, 14:57     Замена в строке восклицательного знака на точку #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Hardcore Посмотреть сообщение
Надо написать функцию которает поменяет влюбом тексте все "!" знаки на "."
надо использовать указатели.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <conio.h>
#include <iostream>
 
int main()
{
using namespace std;
        char *p=new char[300];
        cin.get(p,299);
 
int i=0;
while (p[i]!='\0')
{
        if (p[i]=='!')
         p[i]='.';
         i++;
}
        cout << p;
delete p;
p=NULL;
        getch();
        return 0;
}
easybudda
Эксперт С++
9458 / 5471 / 927
Регистрация: 25.07.2009
Сообщений: 10,495
02.11.2010, 15:00     Замена в строке восклицательного знака на точку #3
C
1
2
3
4
5
6
...
char s[] = "bla!bla!bla!", * p;
for ( p = s; *p; ++p )
  if ( *p == '!' )
    *p = '.';
...
Hardcore
4 / 4 / 0
Регистрация: 24.10.2010
Сообщений: 200
02.11.2010, 16:51  [ТС]     Замена в строке восклицательного знака на точку #4
#include <conio.h> а что делает эта библиотека?
Lerny
56 / 56 / 3
Регистрация: 14.03.2010
Сообщений: 151
02.11.2010, 16:54     Замена в строке восклицательного знака на точку #5
Цитата Сообщение от Hardcore Посмотреть сообщение
#include <conio.h> а что делает эта библиотека?
Вообще я её ввел только ради getch(), чтобы программа не закрывалась.
Можно удалить библиотеку и тогда добавить вместо getch():
C++
1
2
char kon;
cin >> kon;
Beleaf
9 / 9 / 3
Регистрация: 14.04.2010
Сообщений: 99
02.11.2010, 16:55     Замена в строке восклицательного знака на точку #6
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>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <conio.h>
 
using namespace std;
 
int main()
{
    int i=0, len=0;
    char *text = new char[300];
    char chngval, wntval;
    cout << "Input your text: ";
    cin.getline (text, 200);
    len = strlen(text);
    cout << "Input a character on which you want to change: ";
    cin >> wntval;
    cout << "Input a character you want to change: ";
    cin >> chngval;
    for (i=0; i<len; i++)
        if (text[i] == chngval) text[i] = wntval;
    for (i=0; i<len; i++)
        cout << text[i];
    cin.get();
    cin.get();
    return 0;
}
Мой вариант. Более наворочено: можете сами выбирать какой символ заменять и на какой.
Hardcore
4 / 4 / 0
Регистрация: 24.10.2010
Сообщений: 200
02.11.2010, 17:19  [ТС]     Замена в строке восклицательного знака на точку #7
а можешь код написать полность без getch()?
Beleaf
9 / 9 / 3
Регистрация: 14.04.2010
Сообщений: 99
02.11.2010, 17:24     Замена в строке восклицательного знака на точку #8
Сообщение было отмечено автором темы, экспертом или модератором как ответ
пожалуйста:

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
#include <iostream>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
 
using namespace std;
 
int main()
{
        int i=0, len=0;
        char *text = new char[300];
        char chngval, wntval;
        cout << "Input your text: ";
        gets (text);
        len = strlen(text);
        cout << "Input a character on which you want to change: ";
        cin >> wntval;
        cout << "Input a character you want to change: ";
        cin >> chngval;
        for (i=0; i<len; i++)
                if (text[i] == chngval) text[i] = wntval;
        for (i=0; i<len; i++)
                cout << text[i];
    cout << endl;
    system ("pause");
        return 0;
}
Если есть вопросы, с радостью отвечу
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.11.2010, 17:24     Замена в строке восклицательного знака на точку
Еще ссылки по теме:

Найти в строке цифры, идущие после знака &, и вывести их - C++
Друзья выручайте, есть строка типа Ia_НН1=&amp;35А Ib_НН1=&amp;36А Ic_НН1=&amp;37А, как мне в ней найти цифры идущие после знака &amp; и вывести их (тоесть...

Найти в строке точку - C++
Всем привет ! Нужно найти в строке точку. Делаю #include &lt;iostream&gt; #include &lt;string&gt; ...

В строке заменить все запятые на точку - C++
В строке заменить все запятые на точку. Подсчитать количество замен.

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


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

Или воспользуйтесь поиском по форуму:
Lerny
56 / 56 / 3
Регистрация: 14.03.2010
Сообщений: 151
02.11.2010, 17:24     Замена в строке восклицательного знака на точку #9
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Hardcore Посмотреть сообщение
а можешь код написать полность без getch()?
Я так полагаю, если getch(), то это мне. Я ж написал, что заменить)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
 
int main()
{
using namespace std;
        char *p=new char[300];
        cin.get(p,299);
 
int i=0;
while (p[i]!='\0')
{
        if (p[i]=='!')
         p[i]='.';
         i++;
}
        cout << p;
delete p;
p=NULL;
        char kon;
        cin >> kon;
        return 0;
}
Yandex
Объявления
02.11.2010, 17:24     Замена в строке восклицательного знака на точку
Ответ Создать тему
Опции темы

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