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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Telchar
0 / 0 / 0
Регистрация: 09.04.2009
Сообщений: 6
#1

Сдвиг на один символ - C++

09.04.2009, 16:27. Просмотров 617. Ответов 3
Метки нет (Все метки)

Здравствуйте.
у меня не получается решить такую задачку:
есть последовательность символов, например: 'aaaabbbbccccdddd'
мне необходимо выводить подстроку из 4-х символов, при этом смещаясь на один символ вправо, результат должен быть таким:

aaaa
aaab
aabb
abbb
bbbb
...
dddd

Подскажите, как это сделать?

На PHP я делал всё просто
PHP
1
2
3
<?php
for($str = 'aaaaabbbbbcccccddddd', $i = 0; strlen($s = substr($str, $i, 4)) == 4; $i++)
    echo $s."<br />\n";
а в С++ не получается =/

Добавлено через 23 минуты 50 секунд
сделал так:
C++
1
2
3
4
5
6
7
8
    CString str = 'aaaabbbbccccdddd';
 
    int i;
    CString s;
    for(str, i = 0; strlen(s = str.Mid(i, 4)) == 4; i++)
    {
        printf("%s\n", s);
    }
результат выводит какой и нужно, но на сколько это правильно?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.04.2009, 16:27     Сдвиг на один символ
Посмотрите здесь:

Есть ли в строке хоть один символ? C++
Создать функцию, которая на вход получает строку символов и один символ, функция печатает те слова строки, в которых встречается этот символ. C++
Заменить в каждой сроке один заданный символ на другой заданный символ C++
Заменить один символ в тексте двумя C++
C++ Сдвиг элементов вправо на один символ
C++ strupr (сделать заглавным один символ строки)
C++ Сдвиг влево на один бит
Заменить один символ на несколько C++
C++ Заменить все(один) символ(ы) в Unicode строке
C++ Вставить один символ в переменную типа string
Поменять в строке несколько символов на один символ C++
C++ Написать код,чтобы при нажатии клавиши D и d был сдвиг курсора на один символ вправо

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Deicider
96 / 52 / 1
Регистрация: 18.03.2009
Сообщений: 273
09.04.2009, 16:37     Сдвиг на один символ #2
Это абсолютно правильно! Только кавычки двойные должны быть, а не одинарные.
YurA_280784
Заблокирован
09.04.2009, 16:48     Сдвиг на один символ #3
Это для консоли, ну а в MFC вместо принтф выводи в текстовый эдит, вот
C++
1
2
3
4
5
6
7
char str[] = "aaaabbbbccccdddd";
while(str)
{
     printf("%s\r\n",str);
     if(str)
          str++;
}
Telchar
0 / 0 / 0
Регистрация: 09.04.2009
Сообщений: 6
09.04.2009, 17:07  [ТС]     Сдвиг на один символ #4
Спасибо!
Yandex
Объявления
09.04.2009, 17:07     Сдвиг на один символ
Ответ Создать тему
Опции темы

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