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

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

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

Подстроки. - C++

07.11.2009, 09:17. Просмотров 455. Ответов 9
Метки нет (Все метки)

Нужна помощь. Я разбил строку на подстроки (слова). Как мне сделать так, чтобы эти подстроки шли в обратном порядке? Например,было: "Назвался груздем полезай", а стало: "полезай груздем Назвался". Язык visual c++. Вот код разбивки на подстроки:

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
#include <stdio.h>
#include<iostream.h>
#include <windows.h>
 
 
 
int main()
{
char S[150]; //объявлет строку
char* pS; //объявляет указатель на строку
char* Del=" .,"; //объявляет и инициализирует указатель на строку разделителей
CharToOem ("Назвался груздем, пеняй на себя.", S); //преобразует символы кириллицы
pS = strtok (S, Del); //инициализирует указатель адресом первого слова
 
//вывод подстрок:
if (pS) cout << pS << '\n'; 
while (pS)
{
pS = strtok(NULL, Del);
if (pS) cout << pS << '\n';
}
 
return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.11.2009, 09:17     Подстроки.
Посмотрите здесь:

Создать функции добавления подстроки и удаления подстроки - C++
Написать в программе функции добавления подстроки и удаления подстроки в любом месте данного рядка.

Подстроки - C++
Дано предложение удалить из него все подстроки str1. Написать программу на СИ

Удаление подстроки - C++
Доброго всем вечера. Извините конечно, но я завис на вот таком простом примере. Помогите плиз. разработать программу, которая для...

Удаление подстроки (С) - C++
Ребят кто может помочь с удаление подстроки в строке, может у когото код завалялся. Строка: Пальцы его мнут и мнут глину. Удалить: &quot;и...

Поиск подстроки - C++
Всем добрый день, подскажите хорошая ли идея искать наличие подстроки таким способом, 8 строка. #include &lt;iostream&gt; #include &lt;string&gt; ...

Поиск подстроки - C++
Как считать из файла поочерёдно подстроку и искать её в строке? И почему то в итоге не корректно выводится результат 2 -х значений. Вот...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
SONNY
8 / 8 / 0
Регистрация: 30.05.2009
Сообщений: 47
07.11.2009, 09:21     Подстроки. #2
массив указателей и std::reverse
Gravity
562 / 556 / 39
Регистрация: 29.01.2009
Сообщений: 1,274
07.11.2009, 14:37     Подстроки. #3
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <stdio.h>
#include <string.h>
#define MAXLINE 1024
int main(void)
{
    char s[MAXLINE], tokens[64][MAXLINE];
    char *p, *delim = " .,:;";
    int i;
 
    printf("Введите текст: ");
    if(fgets(s, sizeof(s), stdin) == NULL)
        return 0;
    if(s[strlen(s)-1] == '\n')
        s[strlen(s)-1] = '\0';
 
    for(i = 0, p = s; (p = strtok(p, delim)) != NULL; i++, p = NULL)
        strncpy(tokens[i], p, MAXLINE);
    while(--i >= 0)
        printf("%s\n", tokens[i]);
    return 0;
}
Андрейка
419 / 223 / 27
Регистрация: 25.03.2009
Сообщений: 744
07.11.2009, 15:22     Подстроки. #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
using namespace std;
int main()
{
    const int n = 3;
    char *s[n] = {"aaa","bbb","ccc"};
    vector<string>a(s,s+n);
    reverse(a.begin(),a.end());
    copy(a.begin(),a.end(),ostream_iterator<string>(cout," "));
    return 0;
}
SONNY
8 / 8 / 0
Регистрация: 30.05.2009
Сообщений: 47
07.11.2009, 16:44     Подстроки. #5
А зачем в вектор засовывать?Есть какой-то скрытый смысл?
Андрейка
419 / 223 / 27
Регистрация: 25.03.2009
Сообщений: 744
07.11.2009, 17:08     Подстроки. #6
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
    const int n = 4;
    char *s[n] = {"aaa","bbb","ccc","ddd"};
    reverse(s,s+n);
    copy(s,s+n,ostream_iterator<char*>(cout," "));
    return 0;
}
Gravity
562 / 556 / 39
Регистрация: 29.01.2009
Сообщений: 1,274
07.11.2009, 17:38     Подстроки. #7
Зачем вообще делать reverse и copy, если можно сразу распечатать массив указателей s задом наперед?
Андрейка
419 / 223 / 27
Регистрация: 25.03.2009
Сообщений: 744
07.11.2009, 17:41     Подстроки. #8
Gravity, ну ему наверно нужно чтобы сам порядок слов изменился а от того что по массиву ходить с начала в конец или с конца в начало он что изменится?
M128K145
Эксперт С++
8284 / 3503 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
07.11.2009, 17:52     Подстроки. #9
А что нам мешает сделать конкатенацию в обратном порядке?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.11.2009, 08:05     Подстроки.
Еще ссылки по теме:

Поиск подстроки - C++
Эта программа написана чтобы искало буквы....а как написать чтобы искало количество слова например &quot; kag &quot; #include&lt;iostream.h&gt; ...

Поиск подстроки - C++
Народец))) Подскажите пожалуйста новичку,как найти подстроку в строке?

Поиск подстроки - C++
Привет всем. Я пишу программу для поиска подстроки. Если подстрока есть в строке, вывести YES. Иначе - NO. Вот код(еще не дописанный) ...

Поиск подстроки - C++
Всем привет. Вот такое вот дали задание: найти все вхождения данного образца в строке. При этом надо указать индекс в тексте с которого...


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

Или воспользуйтесь поиском по форуму:
Min_Fin
0 / 0 / 0
Регистрация: 04.11.2009
Сообщений: 9
08.11.2009, 08:05  [ТС]     Подстроки. #10
Спасибо. Разобрался...Просто напечал массив с конца.
Yandex
Объявления
08.11.2009, 08:05     Подстроки.
Ответ Создать тему
Опции темы

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