Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.97/32: Рейтинг темы: голосов - 32, средняя оценка - 4.97
587 / 101 / 2
Регистрация: 08.02.2011
Сообщений: 842
1

В каждом слове текста замените "а" на букву "е"

07.03.2012, 15:56. Показов 6441. Ответов 33
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
В каждом слове текста замените "а" на букву "е", если "а" стоит на четном месте, и заменить букву "б" на сочетание "ак", если "б" стоит на нечетном месте.
Помогите, пожалуйста)
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.03.2012, 15:56
Ответы с готовыми решениями:

В каждом слове текста замените "а" на букву "е", если "а" стоит на четном месте, и заменить букву "б" на сочет
В каждом слове текста замените "а" на букву "е", если "а" стоит на четном месте, и заменить букву...

В каждом слове текста замените "а" на букву "е", если "а" стоит на четном месте, и заменить букву "б" на сочетание "ак",
В каждом слове текста замените "а" на букву "е", если "а" стоит на четном месте, и заменить букву...

Дан текст. В каждом слове текста замените "А" на букву "Е"
Дан текст. В каждом слове текста замените "А" на букву "Е", если А стоит на четном месте, и...

Строка: Замените первую букву в каждом втором слове на вопросительный знак...
Введите с клавиатуры строку символов. Замените первую букву в каждом втором слове на ...

В каждом слове текста замените "а" на букву "е", если "а" стоит на четном месте
Задание 1. В каждом слове текста замените "а" на букву "е", если "а" стоит на четном месте, и...

33
587 / 101 / 2
Регистрация: 08.02.2011
Сообщений: 842
08.03.2012, 20:06  [ТС] 21
Author24 — интернет-сервис помощи студентам
можно вопрос, здесь не обязательно подключать библиотеку строки?(ине могли бы вы добавить коментарий)
0
go
Эксперт С++
3646 / 1378 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
08.03.2012, 20:17 22
Цитата Сообщение от aidoqa Посмотреть сообщение
здесь не обязательно подключать библиотеку строки?
Если используете std::string, то подключать хидер string обязательно.
1
587 / 101 / 2
Регистрация: 08.02.2011
Сообщений: 842
09.03.2012, 07:46  [ТС] 23
получается код в 24 посту сделан без испльзования строк?(как его переделать чтоб были строки?)можете переделать эту программу под хидер string?
0
1186 / 542 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
09.03.2012, 15:27 24

Не по теме:

Цитата Сообщение от go Посмотреть сообщение
Для выделения слов лучше использовать boost::split
Да вы только директивами include с boost новичка напугаете, а ещё хотите чтобы он использовал split :)



Добавлено через 36 минут
Хотел было написать свой велосипед, но возникла куча вопросов:
позиция чётная/не чётная должна быть в строке вообще или в каждом отдельном слове? И нужно ли учитывать старую позицию при замене "б" на "ак" так как в этом же случае мы заменяем один символ на два и все символы что после этой замены раньше были чётные станут не чётными и наоборот.
1
587 / 101 / 2
Регистрация: 08.02.2011
Сообщений: 842
09.03.2012, 16:18  [ТС] 25
Цитата Сообщение от Gepar Посмотреть сообщение
позиция чётная/не чётная
должна быть
Цитата Сообщение от Gepar Посмотреть сообщение
в каждом отдельном слове
Цитата Сообщение от Gepar Посмотреть сообщение
нужно ли учитывать старую позицию при замене "б" на "ак"
нужно)
Цитата Сообщение от Gepar Посмотреть сообщение
после этой замены раньше были чётные станут не чётными и наоборот.
наверное так и будет)
0
go
Эксперт С++
3646 / 1378 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
09.03.2012, 17:20 26
Вот без boost
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#include <iostream>
#include <string>
#include <algorithm>
#include <vector>
#include <iterator>
 
typedef std::string T_str;
typedef std::vector<T_str> T_vec;
 
int split_str_to_vec(const T_str s, const T_str DELIM, T_vec &v)
{
   size_t l, r;
 
   for ( l = s.find_first_not_of(DELIM), r = s.find_first_of(DELIM, l) ; 
      l != std::string::npos ; l = s.find_first_not_of(DELIM, r), r = s.find_first_of(DELIM, l) )
      v.push_back(s.substr(l, r - l));
   return v.size();
}
 
 
int main()
{
   T_str s("a abaHello worldaa a b");
   T_vec v;
   
   split_str_to_vec(s, " ", v);
   
   std::for_each(std::begin(v), std::end(v), [] (std::string& s) 
   {
      for ( int i = s.length() - 1 ; i >= 0  ; --i )
         if ( s[i] == 'a' && !(i & 1) )
            s[i] = 'e';
         else 
            if ( s[i] == 'b' && i & 1 )
            {
               s.erase(i, 1);
               s.insert(i, "ak");
            }
    });            
   
   std::copy(v.begin(), v.end(), std::ostream_iterator<std::string>(std::cout, " "));
 
   std::cout << std::endl;
 
   return 0;
}
http://liveworkspace.org/code/... 97c7ba680c
1
587 / 101 / 2
Регистрация: 08.02.2011
Сообщений: 842
09.03.2012, 17:26  [ТС] 27
go, можно вопрос
C++
1
2
3
#include <algorithm>
#include <vector>
#include <iterator>
обязательно ли использовать эти библиотеки?если вас не затруднит не могли бы вы чу чуть добавить коментарий)

Не по теме:

не подскажете где можно прочитать как строить блок схемы?

0
go
Эксперт С++
3646 / 1378 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
09.03.2012, 17:29 28
Цитата Сообщение от aidoqa Посмотреть сообщение
бязательно ли использовать эти библиотеки?
Эти хидера - да. Как Вы обойдетесь без вектора, или строки?
0
1186 / 542 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
09.03.2012, 17:52 29
Ну тогда мой велосипед, вроде не скрипит но чтобы ехать нужно 4 педали крутить, в двое больше тоесть, в общем две строки у меня: одна обычная, а вторая результирующая. Если с одной то придётся всё усложнить да флаг хитрый прикрутить чтобы следил за всеми этими переменами с чётной на не чётное при каждой замене б на ак ... в общем там уже будет не велосипед, а мопед, для
aidoqa, как для начинающего по-моему этот мой пример больше подойдёт.
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
31
32
33
34
35
36
37
38
39
40
#include <iostream>
#include <string>
using namespace std;
 
//весёлая функция, видно из названия
//it сама строка, endIt - конец строки, res - куда писать результат
void fun(string::iterator &it,string::iterator endIt, string &res)
{
    //бегаем циклом пока не закончитсья слово либо сама строка
    for(int i=1;!isspace(*it) && it!=endIt;it++,i++)
    {
        if(!(i%2) && *it=='a')//а на чётной позиции
         res+="b";
        else if(i%2 && *it=='b')//b на не чётной позиции
         res+="ak";
        else
         res+=*it;
    }
}
 
int main()
{
    string str="a baba gala maga";
    string res;
 
    string::iterator it;
    it=str.begin();
 
    while(it!=str.end())
    {
        //сдвинемся на начало слова
        //пока сдвигаемся - копируем мусор также и в результирующую строку
        while(!isalpha(*it))
         res+=*it++;
 
        fun(it,str.end(),res);
    }
 
    cout<<res;
}
Добавлено через 1 минуту
О, да не только я хитрил, ну раз остальные использовали вектор то тогда расходы на мою результирующую строку явно нивелируются
1
587 / 101 / 2
Регистрация: 08.02.2011
Сообщений: 842
09.03.2012, 18:01  [ТС] 30
Gepar, спасибо за помощь, сейчас буду подробно разбираться!
и всем остальным тоже спасибо)за помощь и подсказки)

Добавлено через 7 минут

Не по теме:

не подскажите где можно найти статью как делать блок схемы, я пока в них плохо разбираюсь.

0
1186 / 542 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
09.03.2012, 18:06 31
Ну так в гугле же всё есть, да и чего там особо учиться: геом. фигур всего несколько для обозначения разветвлений да обычных шагов. Ну и ещё начало и конец отметить. В общем пишем в гугле "как сделать блок схему" и проблема будет решена.

Не по теме:

Странно что вас всё ещё просят делать блок схему алгоритма, нас в универе 1 раз лишь просили это сделать. Но ведь и правда зачем её делать если и так код понятен, это же не сложная диаграмма каких-нибудь бизнес процессов как в uml.

1
aidoqa
09.03.2012, 18:08  [ТС]
  #32

Не по теме:

нормативы, есть нормативвы) с этим ни чего не поделаешь, блок схему не сделаешь сразу -20% и все вопрос закрыт)

0
587 / 101 / 2
Регистрация: 08.02.2011
Сообщений: 842
13.03.2012, 20:53  [ТС] 33
проверьте блок схему)
Миниатюры
В каждом слове текста замените "а" на букву "е"  
0
587 / 101 / 2
Регистрация: 08.02.2011
Сообщений: 842
14.03.2012, 12:08  [ТС] 34
подскажите правильно или нет?
0
14.03.2012, 12:08
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.03.2012, 12:08
Помогаю со студенческими работами здесь

В каждом слове текста замените "а" на букву "е", если "а" стоит на четном месте
В каждом слове текста замените &quot;а&quot; на букву &quot;е&quot;, если &quot;а&quot; стоит на четном месте, и заменить букву...

В каждом слове текста замените "а" на букву "е"
В каждом слове текста замените &quot;а&quot; на букву &quot;е&quot;, если &quot;а&quot; стоит на четном месте, и заменить букву...

В каждом слове текста замените "а" на букву "е"
В каждом слове текста замените &quot;а&quot; на букву &quot;е&quot;, если &quot;а&quot; стоит на четном месте, и заменить букву...

В каждом слове текста замените "а" на букву "е"
В каждом слове текста замените &quot;а&quot; на букву &quot;е&quot;, если &quot;а&quot; стоит на четном месте, и заменить букву...

В каждом слове текста замените "а" на букву "е"
help me)) В каждом слове текста замените &quot;а&quot; на букву &quot;е&quot;, если &quot;а&quot; стоит на четном месте, и...


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

Или воспользуйтесь поиском по форуму:
34
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru