Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ разобраться с теорией Всем доброго времени суток, в билете по информатике, есть такие вопросы, на которые не имею представления ка отвечать. помогите пожалуйста или подскажите как загуглить что бы найти именно нужную информацию. Объект и его атрибуты. Специализация и реализация типа данных и Сигнатура операции, факторы, затрудняющие реализацию операций https://www.cyberforum.ru/ cpp-beginners/ thread759510.html Нахождение максимального и минимального числа C++
Здравствуйте. Помогите найти максимальное и минимальное число #include <iostream> using namespace std; int main() { time_t t; srand((unsigned) time(&t));
C++ Помогите найти ошибку в программе (Сгенерировать 10 случайных чисел в интервале 14 – 23) Сгенерировать 10 случайных чисел в интервале 14 – 23. что не так в программе? #include <iostream> #include <ctime> using namespace std; int main() { https://www.cyberforum.ru/ cpp-beginners/ thread759482.html C++ вычислить корень https://www.cyberforum.ru/ cpp-beginners/ thread759481.html
По введённому х вычислите корень из (13 х + 22 х)
C++ Периметр и площадь прямоугольного треугольник
Заданы длины катетов a и b прямоугольного треугольника. Найти его периметр и площадь. Input Первая строка стандартного потока ввода содержит количество тестов Т. Каждый тест - это два целых положительных числа a и b (0 < a,b ≤ 1000), записанных в отдельной строке и разделенных пробелом. Output Для каждого тестового случая вывести в отдельную строку два действительных числа -...
C++ Сложить смежные пары вектора Здравствуйте! Нужна небольшая помощь, разобраться с задачей с использованием векторов. Собственно задача: Прочитайте в вектор набор целых чисел. Вычислите и отобразите сумму каждой пары смежных элементов в векторе. Все что у меня получилось: #include <iostream> #include <string> #include <vector> using namespace std; https://www.cyberforum.ru/ cpp-beginners/ thread759472.html
C++ битовые поля и класс string нужно написать класс для ввода целых 32-х разрядных чисел. Перевести из десятичного вида числа в двоичный код с помощью битовых полей. И перевести из десятичного в шестнадцатеричный вид числа помощью класса string. https://www.cyberforum.ru/ cpp-beginners/ thread759438.html Подскажите компилятор, корректно работающий на Windows 8 C++
Подскажите компилятор корректно работающий на Windows 8. Уже всё перепробывал Dev C++ работает, но некоторые программы не выполняет, и вот описание ошибки: Сигнатура проблемы: Имя события проблемы: APPCRASH Имя приложения: g++.exe Версия приложения: 0.0.0.0 Отметка времени приложения: 414e8b7d Имя модуля с ошибкой: StackHash_5861 Версия модуля с ошибкой: 0.0.0.0 Отметка...
C++ Не создается переменная В общем, с указателем *root творится какая-то чушь. Компилятор как-будто не видит его объявление. #include <iostream.h> #include <string.h> #include <conio.h> template <class T> struct elem { T info; https://www.cyberforum.ru/ cpp-beginners/ thread759424.html C++ Нужно написать программу (структуры) на С++ в MS Visual Studio 2008 https://www.cyberforum.ru/ cpp-beginners/ thread759421.html
1. Описать структуру с именем WORKER , содержащую следующие поля: фамилия и инициалы работника; название занимаемой должности; год поступления на работу. 2. Написать программу, выполняющую следующие действия: ввод из файла данных в массив, состоящих из десяти структур типа WORKER ; записи должны быть упорядочены по алфавиту; вывод на дисплей фамилий работников, чей стаж работы в...
Составьте программу для решения задач, применяя сохранение данных в типизированном файле,а вывод данных в текстовом файле,используя стандартные функии C++
Здравствуйте народ! Помогите кто чем может. Нужно решить задачи на двух языках С++ и Pascal, и еще к задаче нужно сделать блок схему. Ниже будут условия задачи и указано на каком языке нужно решить. 5)Составьте программу для решения следующих задач, применяя сохранение данных в типизированном файле, а вывод данных в текстовом файле, используя стандартные подпрограммы, работающие с файлами....
C++ Удалить в файле лишние пробелы. (блок схема) Здравствуйте народ! Помогите кто чем может. Нужно решить задачи на двух языках С++ и Pascal, и еще к задаче нужно сделать блок схему. Ниже будут условия задачи и указано на каком языке нужно решить. 4) Составьте программу для решения следующих задач, применяя сохранение данных в тестовом файле и используя стандартные подпрограммы, работающие с файлами. Удалить в файле лишние пробелы. (блок... https://www.cyberforum.ru/ cpp-beginners/ thread759410.html
0 / 0 / 0
Регистрация: 18.02.2012
Сообщений: 24
0

Нахождение слов определенной длины в тексте - C++ - Ответ 3989609

12.01.2013, 14:11. Показов 1161. Ответов 1
Метки (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день, столкнулся с проблемой следующего характера. Нужно выписать из текста все слова длины 5. Не долго думая, я написал такой код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <fstream>
#include <string>
using namespace std;
fstream cin("input.txt");
ofstream cout("output.txt");
int main(){
    string s,s1;
    while(getline(cin,s))
        s1+=s;
    int count=0;    
    for(int i=3;i<s1.size();i++){
        if(s1[i-3]==' ' and s1[i+3]==' ')
            cout<<s1[i-2]<<s1[i-1]<<s1[i]<<s1[i+1]<<s1[i+2]<<endl;
    }
}
Но сразу понял свою ошибку. Выводились так же слова вида ****?, где ? любой знак препинания. И с несколькими пробелами впереди или по середина, например "Он до". Можно ли исправить данную проблему, напрямую не указывая, что каждый символ не должен быть пробелом или знаком препинания? Если нет, то как реализовать это наиболее эффективно?

Добавлено через 13 минут
Проблема решена следующим способом:
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
#include <fstream>
#include <string>
using namespace std;
fstream cin("input.txt");
ofstream cout("output.txt");
bool check(char g){
    if(g!=' ' and g!=',' and g!='.' and g!=';' and g!='-' and g!=':' and g!='?' 
    and g!='!' and g!='"')
        return true;
    else 
        return false;   
}
int main(){
    string s,s1;
    while(getline(cin,s))
        s1+=s;
    int count=0;    
    for(int i=3;i<s1.size();i++){
        if(s1[i-3]==' ' and s1[i+3]==' '){
            string f;
            bool m=true;
            for(int j=i-2;j<=i+2;j++){
                f+=s1[j];
                if(!check(s1[j]))
                    m=false;
            }
            if(m)
                cout<<f<<endl;
                
        }
        
            
    }
}
Но всё равно интересно, можно ли решить проще?

Вернуться к обсуждению:
Нахождение слов определенной длины в тексте C++
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.01.2013, 14:11
Готовые ответы и решения:

Поиск слов определенной длины в тексте
Hello, можете привести пример кода, который будет искать одинаковые слова, словом считается...

Удаление слов меньших определённой длины
Есть некоторый текст, очень длинный текст. Нужно с этого текста удалить все слова которые имеют,...

Удаление слов меньших определённой длины
Есть некоторый текст, очень длинный текст. Нужно удалить все слова которые имеют длину 5 и ниже....

Чтение из файла, нахождение слов с определенной буквы
Уважаемые любители программного кода на языках высокого уровня, не были бы вы так любезны,...

1
12.01.2013, 14:11
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.01.2013, 14:11
Помогаю со студенческими работами здесь

Составить две строки определенной длины из данных ключевых слов
Ребята, подскажите как решить следующую головоломку: Есть итоговые две строки длиной до 40...

Нахождение в тексте слов с цифрами
Помогите пожалуйста , написал прогу которая выводит все слова с файла, но что б выводила слова с...

Задача на подсчет длины слов в тексте и сортировку
Есть задание, где сначала надо вычислить слова с длинной слова больше среднего значения, a потом...

определить количество слов заданной длины в тексте
Вот такой у меня код. Но она не совсем правильно работает. Не могу понять почему так. Подскажите...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru