Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.65/20: Рейтинг темы: голосов - 20, средняя оценка - 4.65
aidoqa
587 / 100 / 2
Регистрация: 08.02.2011
Сообщений: 839
1

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

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

В каждом слове текста замените "а" на букву "е", если "а" стоит на четном месте, и заменить букву "б" на сочетание "ак", если "б" стоит на нечетном месте.
Помогите, пожалуйста)
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.03.2012, 15:56
Ответы с готовыми решениями:

по строкам.замените в слове сочетание "му" на "а" , а букву "ы" на "ца". очень нужно
замените в слове сочетание "му" на "а" , а букву "ы" на "ца". очень нужно ...

Замените в слове "му" на "а", а букву "ы" на "ца".
Замените в слове "му" на "а", а букву "ы" на "ца".

я задал произвольный текст длинной 5 строк, и допустим что я ввел 5 раз букву "П" , какой цикл нужно создать чтобы пометять букву "П" на букву "Р" ?
я задал произвольный текст длинной 5 строк, и допустим что я ввел 5 раз букву...

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

Замените буквы "а" и "о" в слове на "А" и "О".
Замените буквы "а" и "о" в слове на "А" и "О".

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

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

Решение

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

Цитата Сообщение от aidoqa Посмотреть сообщение
не могу сделать задание.
а ты попробуй начать, вдруг получится. Как начнешь — выложи результат сюда, а дальше тебе подскажут
3
aidoqa
587 / 100 / 2
Регистрация: 08.02.2011
Сообщений: 839
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
Nameless One
Эксперт С++
5788 / 3437 / 351
Регистрация: 08.02.2010
Сообщений: 7,448
07.03.2012, 19:29 8
Тебе нужно выделить в предложении слова. Возьми наиболее простой случай: пусть слово — это последовательность символов латиницей. Разделитель слов в предложении — пробел. Следовательно, тебе нужно как-то выделять слова в предложении: либо через простой конечный автомат (ручной разбор строки), либо через стандартные средства выделения токенов (stringstream в С++, strtok в С). Дальше все тривиально — нужно определить позицию символов отдельных символов в строке, что опять-таки можно сделать вручную (перебором символов слова), либо с помощью стандартных средств (метод find класса string в С++, функция strchr в С)
1
aidoqa
587 / 100 / 2
Регистрация: 08.02.2011
Сообщений: 839
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
Nameless One
Эксперт С++
5788 / 3437 / 351
Регистрация: 08.02.2010
Сообщений: 7,448
07.03.2012, 19:47 10
aidoqa, да, но вообще было бы идеально, если бы вместо транслита были бы обычные английские слова
1
aidoqa
587 / 100 / 2
Регистрация: 08.02.2011
Сообщений: 839
07.03.2012, 20:32  [ТС] 11
Цитата Сообщение от Nameless One Посмотреть сообщение
если бы вместо транслита были бы обычные английские слова
это как?чу чуть не понял(
0
go
Эксперт С++
3637 / 1369 / 243
Регистрация: 16.04.2009
Сообщений: 4,527
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/12f2edff4f932c39dcebe023fb573e9e
Код
e eakeHello worldae e b
1
aidoqa
587 / 100 / 2
Регистрация: 08.02.2011
Сообщений: 839
07.03.2012, 22:08  [ТС] 13
go, чтобы сделать программу без std нужно добавить using name space std?
и почемуто он ругаеться на boost, у меня dev c++
0
go
Эксперт С++
3637 / 1369 / 243
Регистрация: 16.04.2009
Сообщений: 4,527
07.03.2012, 22:15 14
C++
1
using namespace std;
Цитата Сообщение от aidoqa Посмотреть сообщение
и почемуто он ругаеться на boost, у меня dev c++
Установи boost.
1
aidoqa
587 / 100 / 2
Регистрация: 08.02.2011
Сообщений: 839
07.03.2012, 22:17  [ТС] 15
Цитата Сообщение от go Посмотреть сообщение
using namespace std;
получается при его добавлении можно смело убирать везде std?
0
go
Эксперт С++
3637 / 1369 / 243
Регистрация: 16.04.2009
Сообщений: 4,527
07.03.2012, 22:18 16
Цитата Сообщение от aidoqa Посмотреть сообщение
получается при его добавлении можно смело убирать везде std?
Да. Убирай
C++
1
std::
В принципе можно и без boost обойтись. Как, Вам уже объяснили.
1
aidoqa
587 / 100 / 2
Регистрация: 08.02.2011
Сообщений: 839
07.03.2012, 22:19  [ТС] 17
Цитата Сообщение от go Посмотреть сообщение
В принципе можно и без boost обойтись. Как, Вам уже объяснили.
просто получается его убрать и все.
0
go
Эксперт С++
3637 / 1369 / 243
Регистрация: 16.04.2009
Сообщений: 4,527
07.03.2012, 22:21 18
Цитата Сообщение от aidoqa Посмотреть сообщение
просто получается его убрать и все.
Заменить на
Цитата Сообщение от Nameless One Посмотреть сообщение
выделения токенов (stringstream в С++
1
aidoqa
587 / 100 / 2
Регистрация: 08.02.2011
Сообщений: 839
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
MrCold
861 / 759 / 174
Регистрация: 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
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.03.2012, 07:15

Для каждой строки найти слова, которые не имеют ни одного из букв: "l", "k", "r", "s" i "j"
Задано символьные строки. Строка состоит из нескольких слов (наборов символов),...

Реализовать классы "Воин", "Пехотинец", "Винтовка", "Матрос", "Кортик" (наследование)
Разработать программу с использованием наследования классов, реализующую...

Создать класс "Книга" с полями "название книги", "количество страниц", "год издания"
Создать класс Книга поля: название книги,количество страниц,год издания...


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

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

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