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

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

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

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

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

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

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

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

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

33
go
Эксперт С++
3646 / 1378 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
07.03.2012, 16:01 2
Какой язык?
0
1186 / 542 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
07.03.2012, 16:07 3
Ну в цикле for пройдись по всем символам и смотри чётное i или не чётное и при необходимости дописывай в результирующую строку что нужно, задача ведь не сложная.
Ну или покажи хоть наработки свои.

Добавлено через 34 секунды
Ещё у типа string удобно искать и замещать символы, но это не для новичков и это с++ (а не с).
0
587 / 101 / 2
Регистрация: 08.02.2011
Сообщений: 842
07.03.2012, 18:48  [ТС] 4
go, Gepar, прямо скажу я эту тему пропустил((, не могу сделать задание.
0
3 / 3 / 1
Регистрация: 07.03.2012
Сообщений: 5
07.03.2012, 18:50 5
aidoqa, ну так перечитай Задание то с одной стороны пустяковое, но с другой стороны - лень. Я всегда сам себе говорю - можешь сам, так сделай. совет спрашивать - крайний случай
2
Эксперт С++
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
07.03.2012, 18:53 6
Лучший ответ Сообщение было отмечено как решение

Решение

aidoqa, судя по твоим темам, ты вообще по роковым стечениям обстоятельств не cмог попасть ни на одно занятие.

Цитата Сообщение от aidoqa Посмотреть сообщение
не могу сделать задание.
а ты попробуй начать, вдруг получится. Как начнешь — выложи результат сюда, а дальше тебе подскажут
3
587 / 101 / 2
Регистрация: 08.02.2011
Сообщений: 842
07.03.2012, 19:22  [ТС] 7
буду рассуждать подробно)
в начале мне нужно подключить библиотеки
C++
1
2
3
#include <iostream.h>
#include <conio.h>
#include <string.h>
далеее
мне получается надо сравнивать строки
C++
1
strcmp
или возвращать длину строки
C++
1
strlen
и моя самая главная проблема не могу реализовать условия, понять то пойму как ее записать програмным путем у меня не получается.
0
Эксперт С++
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
07.03.2012, 19:29 8
Тебе нужно выделить в предложении слова. Возьми наиболее простой случай: пусть слово — это последовательность символов латиницей. Разделитель слов в предложении — пробел. Следовательно, тебе нужно как-то выделять слова в предложении: либо через простой конечный автомат (ручной разбор строки), либо через стандартные средства выделения токенов (stringstream в С++, strtok в С). Дальше все тривиально — нужно определить позицию символов отдельных символов в строке, что опять-таки можно сделать вручную (перебором символов слова), либо с помощью стандартных средств (метод find класса string в С++, функция strchr в С)
1
587 / 101 / 2
Регистрация: 08.02.2011
Сообщений: 842
07.03.2012, 19:46  [ТС] 9
вот начинаю делать тело) мне можно как нибудь сделать условие str

Не по теме:

хоть в правильном направлении иду?


C++
1
2
3
4
5
int main (){
string str, pred_lojenie;
cout<<"Vvidite pred_lojenie: =";
getline(cin, pred_lojenie);
}
0
Эксперт С++
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
07.03.2012, 19:47 10
aidoqa, да, но вообще было бы идеально, если бы вместо транслита были бы обычные английские слова
1
587 / 101 / 2
Регистрация: 08.02.2011
Сообщений: 842
07.03.2012, 20:32  [ТС] 11
Цитата Сообщение от Nameless One Посмотреть сообщение
если бы вместо транслита были бы обычные английские слова
это как?чу чуть не понял(
0
go
Эксперт С++
3646 / 1378 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
07.03.2012, 22:04 12
Цитата Сообщение от Nameless One Посмотреть сообщение
stringstream в С++,
Для выделения слов лучше использовать boost::split

Цитата Сообщение от aidoqa Посмотреть сообщение
это как?чу чуть не понял(
Это для удобства.

Добавлено через 1 час 15 минут
Например так
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
#include <iostream>
#include <string>
#include <algorithm>
#include <vector>
#include <iterator>
#include <boost/algorithm/string/split.hpp>
#include <boost/algorithm/string/classification.hpp>
 
 
int main()
{
   std::string s("a abaHello worldaa a b");
   std::vector<std::string> v;
   
   boost::split(v, s, boost::is_any_of(" "));
   
   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/... 23fb573e9e
Код
e eakeHello worldae e b
1
587 / 101 / 2
Регистрация: 08.02.2011
Сообщений: 842
07.03.2012, 22:08  [ТС] 13
go, чтобы сделать программу без std нужно добавить using name space std?
и почемуто он ругаеться на boost, у меня dev c++
0
go
Эксперт С++
3646 / 1378 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
07.03.2012, 22:15 14
C++
1
using namespace std;
Цитата Сообщение от aidoqa Посмотреть сообщение
и почемуто он ругаеться на boost, у меня dev c++
Установи boost.
1
587 / 101 / 2
Регистрация: 08.02.2011
Сообщений: 842
07.03.2012, 22:17  [ТС] 15
Цитата Сообщение от go Посмотреть сообщение
using namespace std;
получается при его добавлении можно смело убирать везде std?
0
go
Эксперт С++
3646 / 1378 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
07.03.2012, 22:18 16
Цитата Сообщение от aidoqa Посмотреть сообщение
получается при его добавлении можно смело убирать везде std?
Да. Убирай
C++
1
std::
В принципе можно и без boost обойтись. Как, Вам уже объяснили.
1
587 / 101 / 2
Регистрация: 08.02.2011
Сообщений: 842
07.03.2012, 22:19  [ТС] 17
Цитата Сообщение от go Посмотреть сообщение
В принципе можно и без boost обойтись. Как, Вам уже объяснили.
просто получается его убрать и все.
0
go
Эксперт С++
3646 / 1378 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
07.03.2012, 22:21 18
Цитата Сообщение от aidoqa Посмотреть сообщение
просто получается его убрать и все.
Заменить на
Цитата Сообщение от Nameless One Посмотреть сообщение
выделения токенов (stringstream в С++
1
587 / 101 / 2
Регистрация: 08.02.2011
Сообщений: 842
07.03.2012, 22:24  [ТС] 19
что то вроде этого?
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
#include <iostream>
#include <string>
#include <algorithm>
#include <vector>//его объязательно?
#include <iterator>//для чего он 
using namespace std;
 
 
int main()
{
streamstring s("a abaHello worldaa a b");
   vector<string> v;
   
   split(v, s, is_any_of(" "));
   
   for_each(begin(v), end(v), [] (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");
            }
    });            
   
   copy(v.begin(), v.end(), ostream_iterator<string>(cout, " "));
 
   cout << endl;
 
   return 0;
}
0
873 / 771 / 173
Регистрация: 11.01.2012
Сообщений: 1,942
08.03.2012, 07:15 20
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
# include <iostream>
 
void insertFun(char*text, int pos, char sym)
 
{
    for ( int i = strlen(text); i >= pos; i--)
 
                text [i + 1] = text[i];
 
                text[pos] = sym;
 
}
 
int main()
{
    char sym_e = 'e';
    char sym_a = 'a';
    char sym_k = 'k';
    char sym_b = 'b';
 
    int i = 0;
 
    char charray[100] = "handle board about ball basket";
 
    std::cout << charray << std::endl;
 
while(charray[i]){
 
    if(charray[i] == sym_a && i % 2 != 0){
 
            charray[i] = sym_e;}
 
    else if(charray[i] == sym_b && i % 2 != 0){
 
        charray[i] = sym_a;
 
    insertFun (charray,i + 1,sym_k);
    
     }
    i++;
}
    std::cout << charray;
 
system("pause");
}
2
08.03.2012, 07:15
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.03.2012, 07:15
Помогаю со студенческими работами здесь

В каждом слове текста замените "а" на букву "е", если "а" стоит на четном месте
В каждом слове текста замените &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; стоит на четном месте, и...


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

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