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

Задана строка. Найти буквы и заменить - C++

Восстановить пароль Регистрация
 
kartofan
0 / 0 / 0
Регистрация: 13.08.2012
Сообщений: 10
23.09.2012, 20:55     Задана строка. Найти буквы и заменить #1
не могу написать корректно код. помогите плиз.
Задача: Задана строка из 16 символов. Найти буквы "o" в строке, если перед ними стоят буквы "l", то заменить на "a"
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.09.2012, 20:55     Задана строка. Найти буквы и заменить
Посмотрите здесь:

C++ Задана строка, содержащая буквы и числа
Дана строка содержащая английский текст. Найти количество слов, начинающихся с буквы b C++
C++ Если строка содержит больше пяти латинских "a",заменить все латинские и русские буквы строки следующими по алфавиту символами.
Задана строка имен программ C++
C++ Дана строка, содержащая английский текст. Найти количеств слов, начинающихся с буквы b
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Issues
429 / 364 / 37
Регистрация: 06.08.2012
Сообщений: 961
23.09.2012, 21:18     Задана строка. Найти буквы и заменить #2
Если я вас правильно понял, то нужно заменить o на a, если перед о стоит l ?

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 <iostream>
#include <conio.h>
 
using namespace std;
 
int main()
{
    char str[16];
 
    cin >> str;
 
    for (int i = 0; str[i] != '\0'; i++)
    {
        if (str[i] == 'o')
            if (str[i-1] == 'l')
                str[i] = 'a';
    }
 
    cout << str << endl;
 
    getch();
    return 0;
}
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,689
23.09.2012, 21:33     Задана строка. Найти буквы и заменить #3
SeregaC++, выход за пределы массива будет, со второго элемента нужно начинать тогда
Issues
429 / 364 / 37
Регистрация: 06.08.2012
Сообщений: 961
23.09.2012, 21:46     Задана строка. Найти буквы и заменить #4
Цитата Сообщение от neske Посмотреть сообщение
SeregaC++, выход за пределы массива будет, со второго элемента нужно начинать тогда
извиняюсь, я ещё сам новичёк, да и писал на скорую руку.
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 <iostream>
#include <conio.h>
 
using namespace std;
 
int main()
{
    char str[16];
 
    cin >> str;
 
    for (int i = 1; str[i] != '\0'; i++)
    {
        if (str[i] == 'o')
            if (str[i-1] == 'l')
                str[i] = 'a';
    }
 
    cout << str << endl;
 
    getch();
    return 0;
}
kartofan
0 / 0 / 0
Регистрация: 13.08.2012
Сообщений: 10
23.09.2012, 22:39  [ТС]     Задана строка. Найти буквы и заменить #5
окно ввода закрывается при нажатии на любую клавишу, не могу ввести данные. С чем может быть связано?
проблема не в коде, но не понимаю в чем. может в студио что-то доделать надо
Issues
429 / 364 / 37
Регистрация: 06.08.2012
Сообщений: 961
23.09.2012, 23:00     Задана строка. Найти буквы и заменить #6
А ошибка не возникает? (при закрытии).

P.S. это конечно врятли, но можете попробовать вместо getch(); написать system("PAUSE");
kartofan
0 / 0 / 0
Регистрация: 13.08.2012
Сообщений: 10
23.09.2012, 23:17  [ТС]     Задана строка. Найти буквы и заменить #7
нет. ошибка точно не в коде, попробовал другой код запустить - та же фигня.
Issues
429 / 364 / 37
Регистрация: 06.08.2012
Сообщений: 961
24.09.2012, 16:33     Задана строка. Найти буквы и заменить #8
kartofan, ну я не знаю..., попробуйте запуск без отладки.
DebieCooper
 Аватар для DebieCooper
34 / 34 / 1
Регистрация: 12.10.2011
Сообщений: 285
24.09.2012, 16:59     Задана строка. Найти буквы и заменить #9
У меня все работает как надо)
kartofan
0 / 0 / 0
Регистрация: 13.08.2012
Сообщений: 10
25.09.2012, 18:06  [ТС]     Задана строка. Найти буквы и заменить #10
Всем спасибо, заработало как надо))
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.09.2012, 19:19     Задана строка. Найти буквы и заменить
Еще ссылки по теме:

C++ Дана строка. Заменить в ней все строчные (латинские и русские) буквы соответствующими заглавными.
Нужно все буквы B заменить на решётку #, а буквы A заменить на A и B через раз C++
Нужно все буквы B заменить на решётку #, а буквы A заменить на A и B через раз - C++ C++

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

Или воспользуйтесь поиском по форуму:
kotleta
 Аватар для kotleta
42 / 42 / 11
Регистрация: 13.09.2012
Сообщений: 196
25.09.2012, 19:19     Задана строка. Найти буквы и заменить #11
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
30
#include <iostream>
#include <string>
 
using namespace std;
 
int main()
{
    string message="pif-paf!! lo-lo-ololo!!";
    int position;
 
    cout << endl << message << endl;
 
 
 
    for(position=0;;)
    {
     position=message.find("lo",position);
     if(position != -1)
     {
      message[position]='a';
      position++;
     }
     else break;
    }
 
    cout << endl << message << endl;
 
 
    return 0;
}
Yandex
Объявления
25.09.2012, 19:19     Задана строка. Найти буквы и заменить
Ответ Создать тему
Опции темы

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