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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Алгоритм вычисления числа сочетаний, используя рекуррентную формулу http://www.cyberforum.ru/cpp-beginners/thread513382.html
Запрограммировать рекурсивный алгоритм вычисления числа сочетаний, используя рекуррентную формулу
C++ Упорядочить элементы массива по возрастанию методом Шейкера Дан массив А(45). Упорядочить элементы массива по возрастанию методом Шейкера http://www.cyberforum.ru/cpp-beginners/thread513381.html
C++ Напечатать все слова, отличные от последнего слова, предварительно преобразовав каждое из них по заданному правилу
Дан текст, содержащий от 2 до 30 слов, в каждом из которых от 2 до 10 латинских букв; между соседними словами - не менее одного пробела. Напечатать все слова, отличные от последнего слова, предварительно преобразовав каждое из них по следующему правилу: 1) перенести первую букву в конец слова; 2) перенести последнюю букву в начало слова.
C++ Указатели и преобразование типов
Доброго времени суток уважаемые форумчанае! Возник вопрос, о котором стыдно даже спрашивать. Но в сторону гордость. Есть такой кусок: BYTE addrIp = {127,0,0,1}; qDebug() << *((DWORD*)addrIp); По идее, должно вернуться значение типа DWORD, то есть "127001", а возвращается "16777343". Совсем запутался с типами.
C++ Правильно ли составлена задача? http://www.cyberforum.ru/cpp-beginners/thread513340.html
Правильно ли построен ход решения? Не уверен в работоспособности шага 0.4 #include <iostream> #include <cmath> #include <cstdlib> using namespace std; int main () {
C++ Есть структура, компилятор считывает некоторые её поля ТОЛЬКО из адресов, кратным двум, а их там нет! (полей), как быть? То есть вот структура: struct TGAHEADER { char IdLength; char ColourMapType; char DataTypeCode; WORD ColourMapOrigin; WORD ColourMapLength; char ColourMapDepth; WORD x_Origin; подробнее

Показать сообщение отдельно
Gepar
 Аватар для Gepar
1173 / 529 / 20
Регистрация: 01.07.2009
Сообщений: 3,508
09.03.2012, 17:52     В каждом слове текста замените "а" на букву "е"
Ну тогда мой велосипед, вроде не скрипит но чтобы ехать нужно 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 минуту
О, да не только я хитрил, ну раз остальные использовали вектор то тогда расходы на мою результирующую строку явно нивелируются
 
Текущее время: 04:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru