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

Если в тексте есть одинаковые слова, заменить все их экземпляры символом из заданного набора - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Функция, которая удаляет начальные и конечные пробелы из строки http://www.cyberforum.ru/cpp-beginners/thread1179555.html
Написать функцию, которая удаляет начальные и конечные пробелы из строки, полученной в качестве аргумента Добавлено через 1 час 33 минуты Поможет кто с задачей, буду очень благодарен....
C++ Найти строки матрицы с наибольшей и наименьшей суммой элементов Доброго времени суток! Если кто-то может, !!!ПОМОГИТЕ!!! с решением задачи (желательно подробно-детально, чтобы я мог разобраться, как в дальнейшем я мог бы составлять похожие проги). Задача:... http://www.cyberforum.ru/cpp-beginners/thread1179545.html
C++ С++
Задание Класс 1 «Координаты» (градусы широты, минуты широты, градусы долготы, минуты долготы): - конструкторы (по умолчанию, инициализация пользователем); - методы доступа. Класс 2 «Город»...
C++ Функции работы с файлами через поток не работают! Подскажите ошибку?
int Write(House **massiv2, int *size2, int *size) { int i=0; ifstream file; char file_name = ""; printf("Type the file path\n"); getchar(); gets(file_name); ...
C++ Программа для ввода и вывода фамилий и оценок студентов. Отберите тех, у которых сумма баллов вторая по вел http://www.cyberforum.ru/cpp-beginners/thread1179531.html
Программа для ввода и вывода фамилий и оценок студентов. Отберите тех, у которых сумма баллов вторая по величине #include<stdio.h> #include<conio.h> struct Student { char fam; int...
C++ Дружественная функция. Класс Passport Создать класс Passport со следующими полями: -номер паспорта -фамилия (указатель на строку) Конструктор должен выделять память под строку, ориентируясь на длину введеной (переданной строки) ... подробнее

Показать сообщение отдельно
GuGo1991
267 / 261 / 93
Регистрация: 02.08.2012
Сообщений: 609
19.05.2014, 23:01
Naginata, если пойдёт добавлю комментарии
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#include <iostream>
#include <string>
#include <sstream>
#include <vector>
 
int main()
{
    setlocale(LC_ALL,"RUSSIAN");
    std::string str = "ГЋГ¤Г*Г*æäû èäÿ äîìîé Гї Г§Г*ìåòèë Г±ГўГҐГІ èñõîäÿùé ГЁГ§ "
    "êóñòîâ ГЁ Гї áûë îøГ*Г°Г*ГёГҐГ* ГІГҐГ¬ Г·ГІГ® Гї óâèäåë Гў ГЄГіГ±ГІГ*Гµ ëåæГ*Г« ГЄГ°Г*Г©Г*ГҐ "
    "ïðèìåòГ*îé Г°Г*Г±ГЄГ°Г*Г±ГЄГЁ ГёГ*Г° Г§Г*ГІГҐГ¬ ïîäîéäÿ ГЄ Г*åìó áëèæå Г·ГІГ® ГІГ® ìåГ*Гї "
    "êîñГ*óëîñü ГЁ Гї ïðîñГ*óëñÿ îêГ*Г§Г*ëîñü ГЅГІГ® áûë Г±Г®Г*";
    
    char* chStr = new char[str.size() + 1];
    std::strcpy(chStr, str.c_str());
    
    char* p = std::strtok(chStr, " ");
    std::vector<std::string> arr;
    while(p != NULL)
    {
        arr.push_back(p);
        p = strtok(NULL, " ");
 
    }
    
    int symbol = 1;
    bool check = false, exists = false;
    
    for(int i = 0; i < arr.size(); i++)
    {
        for(int j = i + 1; j < arr.size(); j++)
        {
            for(int s = 1; s <= symbol; s++)
            {
                std::ostringstream convert;
                convert << s;
                if(arr[i] == convert.str())
                {
                    exists = true;
                    break;
                }
            }
            if(arr[j] == arr[i] && !exists)
            {
                arr[j] = (((int)'0') + symbol);
                check = true;
            }
        }
        if(check)
        {
            arr[i] = (((int)'0') + symbol);
            symbol++;
            check = false;
        }
        exists = false;
    }
    
    for(int i = 0; i < arr.size(); i++)
        std::cout << arr[i] << " ";
    std::cout << "\n\n";
    
    delete [] chStr;
    
    system("pause");
    return 0;
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru