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

В строке, содержащей несколько слов, разделенных пробелом, переставить слова в обратной последовательности - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Массив строк. Вывести строки, в которых имеется самая длинная цепочка символа «*» http://www.cyberforum.ru/cpp-beginners/thread788977.html
Написать программу, в которой с клавиатуры вводится до 10 символьных строк. Вывести строки, в которых имеется самая длинная цепочка символа «*». В каждой такой строке оставить только по одному символу «*». Нахождение и удаление символов оформить в виде функций.
C++ Массив символов (Подсчитать количество слов в строке, при условии, что в качестве разделителя слов используется один или несколько пробелов) Написать программу, в которой с клавиатуры вводится строка символов. Подсчитать количество слов в строке, при условии, что в качестве разделителя слов используется один или несколько пробелов. Подсчет количества слов в строке оформить в виде функции. Примечание: В качестве вводного материала к задаче поясняется, что: 1) слово представляет собой цепочку любых символов отличных от пробела; 2) в... http://www.cyberforum.ru/cpp-beginners/thread788968.html
C++ Чтение/анализ строки текста
Уважаемые господа, помогите советом. Нужно строку текста (из четного кол-ва символов) разбить в на фрагменты по два символа (задать программу для чтения строки). Как реализовать подобное? Комментариями сопровожу по необходимости, заранее спасибо)
Работа с памятью C++
Задали программу написать которая удаляет слова с одинаковым количеством гласных и согласных букв. Слова вводятся через пробел, около 4 штук, а потом выводятся оставшиеся. Проблема в том, что иногда происходит сбой в работе с памятью. Иногда программа работает нормально. Можете подсказать, где ошибка? #include "stdafx.h" #include <iostream> #include <conio.h> #include <stdio.h> #include...
C++ Дописать программу (Заданы два человека – p и q. Ответить, являются ли они родственниками) http://www.cyberforum.ru/cpp-beginners/thread788946.html
Доброго времени суток! Заданы два человека – p и q. Ответить, являются ли они родственниками. (В программе должны быть заданы два массива натуральных чисел mother и father, такие, что mother – номер матери i-го человека, а father – номер его отца, для каждого i, удовлетворяющего неравенствам 0<= i <=n-1.) Прога в рабочем состоянии, но ее необходимо дополнить (или/и исправить), чтобы она...
C++ Генерирование случайных чисел и выборка значения из этих чисел Здравствуйте, помогите решить задачку. Нужно случайным образом сгенерировать числа от 0..9, 100 раз. Затем из генерированных чисел пользователь должен выбрать число, и в программе должен быть пересчет, сколько раз встретилось это число из 100 раз. Затем мы должны занести данные каждого числа от 0..9 (сколько раз оно встретилось) в массив... Спасибо.... Начало моего задания...... int... подробнее

Показать сообщение отдельно
SummerRain
 Аватар для SummerRain
326 / 325 / 17
Регистрация: 16.12.2012
Сообщений: 544
18.02.2013, 12:08     В строке, содержащей несколько слов, разделенных пробелом, переставить слова в обратной последовательности
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
46
#include <iostream>
#include <vector>
#include <string>
 
std::vector<std::string> split(const std::string& s) {
    std::vector<std::string> vec;
    typedef std::string::size_type str_size;
    str_size i = 0;
    int count = 0;
    while (i != s.size()) {
        while (isspace(s[i]) && i != s.size())
            ++i;
        str_size j = i;
        while (!isspace(s[j]) && j != s.size())
            ++j;
        if (i != j) {
            vec.push_back(s.substr(i, j - i));
            i = j;
        }
    }
    return vec;
}
 
std::string makestr(std::vector<std::string> v) {
    std::string buf;
    std::vector<std::string>::size_type i = v.size() - 1;
    while (i != 0) {
        buf += v[i] + " ";
        --i;
    }
    buf +=v[i];
    return buf;
}
 
int main()
{
    std::string str, newstr;
    std::vector<std::string> v;
    //std::getline(std::cin, str);
    str = "abcde fghik lmnop qrst uxyz";
    v = split(str);
    newstr = makestr(v);
    std::cout << newstr;
    system("PAUSE");
    return 0;
}
 
Текущее время: 14:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru