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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.64
scenik
3 / 3 / 1
Регистрация: 03.12.2011
Сообщений: 55
#1

Преобразовать последовательность заменив в ней все восклицательные знаки точками - C++

04.12.2013, 23:57. Просмотров 1709. Ответов 3
Метки нет (Все метки)

2. Даны натуральное число n, символы s1, s2, …, sn. Преобразовать последовательность s1, s2, …, sn заменив в ней: все восклицательные знаки точками.

Написал программу такого вида:

C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
#include <iostream.h>
void main() 
{
    char s[] = {"Hello, World! Good bye, World!!!"};
    for (int i = 0; s[i]; i++) 
    {
        if(s[i] == '!')
            s[i] = '.';
    }
    cout<< s;
    }
Преподаватель говорит что должно быть n символов, т. е. n вводится с клавиатуры, а после него уже вводится строка символов. Написал такого типа (примитивно, но все же):
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream.h>
void main() 
{
    int n;
    cout<<"n=";
    cin>>n;
    char s[1000];
    cout<<"Vvedite stroky iz "<<n<<" simvolov: ";
    cin>>s;
    for (int i = 0; s[i]; i++) 
    {
        if(s[i] == '!')
            s[i] = '.';
    }
    cout<< s <<"\n";
    }

Как сделать так, что бы вводилось только определенное количество символов (указанное в n), а не объявлять массив в 1000 символов.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.12.2013, 23:57
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Преобразовать последовательность заменив в ней все восклицательные знаки точками (C++):

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

Преобразовать строку, заменив точками все двоеточия, встречающиеся среди первых n/2 символов, и заменив точками все восклицательные знаки... - C++
14.24. Дана строка. Преобразовать ее, заменив точками все двоеточия, встречающиеся среди первых n/2 символов, и заменив точками все...

Преобразовать строку, заменив все двоеточия точками, все восклицательные знаки - вопросительными - C++
Дана строка из n символов.Преобразовать ее, заменив все двоеточия (:) точками, все восклицательные знаки - вопросительными.

Заменить все восклицательные знаки точками - C++
Даны натуральное число n, символы s1, …, sn. Преобразовать последовательность s1, …, sn, заменив в ней: все восклицательные знаки точками;

Дана строка. Преобразовать ее, заменив точками все двоеточия - C++
Дана строка. Преобразовать ее, заменив точками все двоеточия (:), встречающиеся среди первых п/2 символов, и заменив точками все...

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

3
senderlender
5 / 5 / 1
Регистрация: 03.12.2013
Сообщений: 50
05.12.2013, 00:45 #2
Сделай динамический массив:

Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream.h>
void main() 
{
    int n;
    cout<<"n=";
    cin>>n;
    char *s = new char [n];
    cout<<"Vvedite stroky iz "<<n<<" simvolov: ";
    cin>>s;
    for (int i = 0; s[i]; i++) 
    {
        if(s[i] == '!')
            s[i] = '.';
    }
    cout<< s <<"\n";
    delete []s;
    }
2
scenik
3 / 3 / 1
Регистрация: 03.12.2011
Сообщений: 55
05.12.2013, 01:32  [ТС] #3
Благодарю, тыкнуть спасибку не могу, скорее всего из-за даты Вашей регистрации, но в ближайшем будущем обязательно поставлю.
0
axicose
0 / 0 / 0
Регистрация: 04.12.2013
Сообщений: 25
05.12.2013, 01:43 #4
можно сделать динамически растущий вектор, т.е ты сам заполняешь с консоли элементы, а вектор выделит размер который тебе нужен. имхо, так лучше, походу. заюзай std::vector, если возможно.
0
05.12.2013, 01:43
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.12.2013, 01:43
Привет! Вот еще темы с ответами:

Преобразовать последовательность символов заменив в ней каждую из групп стоящих рядом точек одной точкой - C++
Дано натуральное число n, символы s1,...,sn переобразовать последовательность s1,...,sn заменив в ней: в) каждую из групп стоящих...

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

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

Преобразовать строку, заменив в ней первый символ на второй. - C++
Ребят, помогите с задачкой, пожалуйста. Желательно для Borland C++ Builder 6.0. Вводится строка произвольного текста и два...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

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