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

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

Войти
Регистрация
Восстановить пароль
 
Kuroko
2 / 2 / 0
Регистрация: 08.12.2012
Сообщений: 40
#1

Дан текст. Преобразовать его по следующему правилу - C++

25.03.2013, 14:59. Просмотров 456. Ответов 8
Метки нет (Все метки)

Дан текст. Преобразовать его по правилу: если нет символа "*", то оставить его без изменения, иначе заменить каждый
символ, встречающийся после первого вхождения символа "*" на символ "_". Ничего не получается( Пожалуйста помогите, заранее благодарен)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.03.2013, 14:59     Дан текст. Преобразовать его по следующему правилу
Посмотрите здесь:

Дан массив из из N элементов. Преобразовать по следующему правилу - C++
Помогите решить задачу на С++. Одномерные массивы. Дан массив из из N элементов. Преобразовать его по следующему правилу ( x'k –...

Дан одномерный массив В, состоящий из 2n элементов. Переставить его элементы по следующему правилу: b[1], b[n+1], b[2], b[n+2],., b[n], b[2n] - C++
17. Дан одномерный массив В, состоящий из 2n элементов. Переставить его элементы по следующему правилу: b, b, b, b,..., b, b. можете помочь...

Преобразовать массив x по следующему правилу - C++
Преобразовать массив x по следующему правилу ( - значение k-го элемента массива после преобразования):  элементы массива циклически...

Преобразовать массив целых чисел Х по следующему правилу: - C++
Преобразовать массив целых чисел Х по следующему правилу: а) все отрицательные элементы массива Х перенести в его начало, а все...

Преобразовать массив целых чисел Х по следующему правилу: элементы массива Х циклически сдвинуть на k позиций - C++
Мужики, нужна программа, вот условие "Преобразовать массив целых чисел Х по следующему правилу: элементы массива Х циклически сдвинуть на...

Одномерный массив. Переставить его элементы по следующему правилу - C++
Дан одномерный массив В, состоящий из 2n элементов. Переставить его элементы по следующему правилу: b, b,..., b, b, b,..., b.

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 320
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
25.03.2013, 15:03     Дан текст. Преобразовать его по следующему правилу #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
#include <string>
#include <algorithm>
 
int main()
{
   std::string s = "hello*and";
   size_t pos = s.find('*');
   std::fill(pos != std::string::npos ? s.begin() + pos + 1 :
   s.end(), s.end(), '-');
   std::cout << s << std::endl;
}
http://liveworkspace.org/code/2EnKQ7$3
ReasonX7
47 / 46 / 2
Регистрация: 11.12.2011
Сообщений: 147
25.03.2013, 15:13     Дан текст. Преобразовать его по следующему правилу #3
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
#include <iostream>
 
void main()
{
    char str[100];
    std::cin >> str;
 
    int length = strlen(str);
    for (int i = 0; i < length; i++)    // Проходим циклом по строке.
    {
        if (str[i] == '*')   // Если встретили '*', то
        {
            for (int j = i + 1; j < length; j++)   // этим циклом
            {
                str[j] = '_';   // меняем все следующие эл. на '_'.
            }
            break;   // Прервали внешний цикл.
        }
    }
 
    for (int i = 0; i < length; i++)
        std::cout << str[i];
    std::cout << std::endl;
 
    system("pause");
}
Kuroko
2 / 2 / 0
Регистрация: 08.12.2012
Сообщений: 40
25.03.2013, 16:24  [ТС]     Дан текст. Преобразовать его по следующему правилу #4
Спасибо огромное!))

Добавлено через 18 минут
Но тут еще вопрос. После написания нескольких слов, программа ставит пробелы после "*" только в одном слове, а остальные слова удаляет, пожалуйста объясните как это исправить?
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 320
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
25.03.2013, 16:41     Дан текст. Преобразовать его по следующему правилу #5
Kuroko, В каком коде это происходит?
ReasonX7
47 / 46 / 2
Регистрация: 11.12.2011
Сообщений: 147
25.03.2013, 17:15     Дан текст. Преобразовать его по следующему правилу #6
Kuroko, это из-за особенностей ф-ции strlen(str). Она воспринимает пробел, как конец строки.
Kuroko
2 / 2 / 0
Регистрация: 08.12.2012
Сообщений: 40
25.03.2013, 17:19  [ТС]     Дан текст. Преобразовать его по следующему правилу #7
А какую функцию нужно использовать, чтобы она работала и после пробела??
ReasonX7
47 / 46 / 2
Регистрация: 11.12.2011
Сообщений: 147
25.03.2013, 17:25     Дан текст. Преобразовать его по следующему правилу #8
Тьфу, бред я сказал. Нашел ошибку. Нужно использовать для ввода:
C++
1
std::cin.getline(str, 100);
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.03.2013, 19:15     Дан текст. Преобразовать его по следующему правилу
Еще ссылки по теме:

Создайте массив int A [n] [n], и заполните его по следующему правилу: - C++
дано число n. Создайте массив int A , и заполните его по следующему правилу: Числа на диагонали, идущей из правого верхнего в левый нижний...

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

Двумерные массивы. Построить массив В(6) по следующему правилу: - C++
Дан массив A. Построить массив В(6) по следующему правилу: В(J) присвоить 1, если в J-ом столбце массива А количество ненулевых элементов...

Дан текст. Вывести все его гласные буквы - C++
Подскажите, как тут вывести гласные буквы? /*Дан текст. Вывести все его гласные буквы*/ #include &lt;iostream&gt; #include&lt;stdio.h&gt; ...


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

Или воспользуйтесь поиском по форуму:
Kuroko
2 / 2 / 0
Регистрация: 08.12.2012
Сообщений: 40
25.03.2013, 19:15  [ТС]     Дан текст. Преобразовать его по следующему правилу #9
О, теперь работает) спасибо большое еще раз)
Yandex
Объявления
25.03.2013, 19:15     Дан текст. Преобразовать его по следующему правилу
Ответ Создать тему
Опции темы

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