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

Удаление слов из текста - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ ввод пути к файлу с консоли http://www.cyberforum.ru/cpp-beginners/thread861480.html
подскажите пожалуйста, вот как отрыть файл для работы с ним я знаю, но покрайней мере я делаю так FILE *f; f=fopen("input.txt","r"); а можно как что бы указывать путь к файлу с консоли, что нибуть такое FILE *f; string bs; cin >> bs; f=fopen("bs","r"); ну или вопще как такое реализовать, подскажите пожалуйста
C++ Среднее геометрическое С++ Вычислить среднее геометрическое для каждого элемента одномерного массива по следующему правилу : {b}_{i}=\sqrt{a(i)*a(2)*...*a(i)} \sqrt{a(i)*a(2)*...*a(i)} Использовать функцию вычисления среднего геометрического одномерного массива. http://www.cyberforum.ru/cpp-beginners/thread861478.html
Двуязычие приложения C++
Есть собственно С++ код работает все в консоли Не пойму как сделать что бы пользователь мог выбрать на каком языке будет отображаться текст программы на русском или на английском.. Выбор между ними, как создавать код, какие файлы применять!
Показ скрытого сообщения C++
Добрый день. Есть 2 класса 1-главный 2-второстепенный Когда перед пользователем появляется консоль в консоле можно зайти в меню 1 класса или во 2 класс. Если пользователь сразу из главного меню 1 и 2 класса зайдет во 2 класс то там ничего не будет Если пользователь зайдет в 1 класс и сделает такое действие "Нажмите клавишу "Y" чтобы удалить файл", после нажатия "Y" будет произведено некое...
C++ Выделение памяти под массив строк http://www.cyberforum.ru/cpp-beginners/thread861445.html
Вот нерабочий код и сейчас объясню, что пытаюсь сделать fstream f; f.open("in.txt", ios::in); int i=0, j=0; char **txt=(char**)malloc(1); while (!f.eof()) { txt=(char*)malloc(1); while(txt!='\n'){
C++ Сортировка по любому полю Обработать массив структур следующим образом: п.1) ввести элементы массива с клавиатуры(текущее количество эле- ментов массива вводится с клавиатуры (по соответствующему запросу) каждый раз после запуска программы); п.2) вывести на экран все элементы массива. Поля каждой структуры вывеси на экран в строку и получить таким образом на экране ... подробнее

Показать сообщение отдельно
zitxbit
Master C/C++
 Аватар для zitxbit
86 / 738 / 75
Регистрация: 11.04.2012
Сообщений: 971
12.05.2013, 11:16     Удаление слов из текста
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
#include <stdio.h>
#include <conio.h>
#include <ctype.h>
 
#include <iostream>
#include <cstring>
 
#define N 10
 
using namespace std;
 
int main(int argc, char* argv[])
{
    static char str[256] = "hello world how many things to do. to di to da. how to tell about C++";
 
             printf("%s\n", str);
 
    char *text[N] = { 0 }, *block = NULL; int i = 0;
    for (block = strtok(str,"."); block != NULL; block = strtok(NULL,"."))
        text[i++] = block;
    
    for (int s = 0; text[s] != NULL; s++)
    {
        int min = strlen(text[s]), min_i = 0;
        for (int i = 0; text[s][i] != '\0'; i++)
            if ((text[s][i] == ' ' && !isspace(text[s][i-1]) && 
                !isspace(text[s][i+1]) && i > 0) || (i == strlen(text[s])-1))
            {
                int n = i-1;
                while (!isspace(text[s][n]) && n >= 0) n--;
                if (abs(((i != strlen(text[s])-1) ? (n+1) : n) - i) < min) 
                    { min = abs((i != strlen(text[s])-1 ? (n+1) : n) - i); min_i = n+1; }
            }
 
        bool found = true;
        while (found)
        {
            for (int r = 0; text[s][r] != '\0'; r++)
                if (text[s][r] == ' ' || r == strlen(text[s])-1)
                {
                    int n = r-1;
                    while (!isspace(text[s][n]) && n >= 0) n--;
                    if (abs(((r != strlen(text[s])-1) ? (n+1) : n) - r) == min) 
                    { 
                        int x = min; found = true;
                        while (--x >= 0)
                        {
                            for (int t = n+1; text[s][t] != '\0'; t++)
                                text[s][t] = text[s][t+1];
                        }
                    }
 
                    else found = false;
                }
        }
 
        printf("string %d: %s\n",s,text[s]);
    }
 
    _getch();
 
    return 0;
}
Миниатюры
Удаление слов из текста  
 
Текущее время: 17:59. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru