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

Обработка строки - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ у меня исчезли в VS номера строк http://www.cyberforum.ru/cpp-beginners/thread63726.html
у меня рядом с кодом слева были номера строк по которым я ориентировался,теперь они исчезли,как вернуть? и скажите почему нужны breakpoint-ы?
C++ Снова неполадки с кодом,на этот раз COUT вот кодint main(){ cout<<"Hello there.\n"; cout<<"Here is 5:"<<5<<"\n"; cout<<"Manipulator endl"; cout<< endl; cout<<"big number:\t"<<70000<<endl; cout<<"here is a sum 8 & 5"<<8+5<<endl; cout<<"here is a fraction:\t\t"<<(float)5\8<<endl; cout<<"and very big number:\t"; http://www.cyberforum.ru/cpp-beginners/thread63721.html
Объявление переменных. C++
У меня есть два юнита с формами. В одном располагается TMainMenu, где я выбираю как производится ввод: из файла или с клавиатуры, и могу выбрать файл через OpenDialog. кнопки "из файла" и "с клавиатуры" объединены в RadioItem и соответственно свойство Checked одной из кнопки true. Во втором юните мне нужно знать какое из Checked true и имя выбранного файла fname. проблема в том , что я не знаю...
Присвоить значение полям динамического массива структуры C++
Здравствуйте, у меня возник такой вопрос: А как можно присвоить значение полям динамиского масива структуры... у меня не получилось, в случае ввода с клавиатуры, всё работает, а вот если присваивать с помощью(=) - то ничего не получается... #include <iostream> using namespace std; struct cat {
C++ Определить количество слов в строке, длина которых меньше заданного числа К http://www.cyberforum.ru/cpp-beginners/thread63669.html
Помогите пожалуйста с задачкой... ПЛИЗ... Дана строка текста, в которой слова разделены пробелами. Необходимо: - определить количество слов в строке, длина которых меньше заданного числа К; - вычислить, какой процент слов в строке имеет наименьшую длину; - исключить из строки первое и последнее слова, оставшийся текст вывести на экран. ЗАРАНЕЕ БЛАГОДАРЮ!
C++ Задание по C Колупался около двух часов и не нашёл решения. Надеюсь помогут. Задание. Найти сумму целых положительных чисел, больших n, меньших m и кратных k. Значения n m k вводиться во время работы программы. После вывда результата на экран снова должен появляться запрос значений n m k , до тех пор пока пользователь не введёт 0. Желательно использовать операторы цикла for, while. подробнее

Показать сообщение отдельно
timuragmk
2 / 2 / 0
Регистрация: 19.11.2009
Сообщений: 6
23.11.2009, 08:50     Обработка строки
Привет! В Вашем коде я не разбирался, за что прошу прощения. По поводу выборки повторяющихся слов у меня такая идея: формируется <string> вектор, куда закидываются все слова по очереди. Но перед тем как закинуть, проверяем, нет ли уже в векторе этого слова. В случае повторения этого слова в векторе, кидаем это слово во второй - результативный вектор. Но перед этим, проверяем, чтобы он и в результативном не повторился. Вот и всё.
Сам код.
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
#include "stdafx.h"
#include "iostream.h"
#include <string>
#include <vector>
#include <algorithm>
 
bool findStr(char m);
void printR(std::string m);
 
int main(int argc, char* argv[])
{
    std::string s("run michael run ticket star run michael ticket ");
    std::string n;
    std::vector<std::string> v;
    std::vector<std::string> r;
    std::vector<std::string>::iterator vI;
    std::vector<std::string>::iterator rI;
        
    int a = 0; 
    int b = 0;
    
    while(b != -1) {
 
        b = (int)s.find(' ', a);
        n = s.substr(a, b-a);
        a = b+1;
        
        vI = std::find(v.begin(), v.end(), n);
        rI = std::find(r.begin(), r.end(), n);
        
        if ((vI != v.end()) && (rI == r.end())) 
            r.push_back(n);
        else 
            v.push_back(n);
 
    }
    
    std::for_each(r.begin(), r.end(), printR);
 
    return 0;
}
 
bool findStr(char m) { return (m == ' '); }
void printR(std::string m) { cout << m.c_str() << endl; }
 
Текущее время: 04:08. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru