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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Keyn
0 / 0 / 0
Регистрация: 13.06.2013
Сообщений: 6
#1

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

24.06.2013, 21:58. Просмотров 801. Ответов 9
Метки нет (Все метки)

Дана строка. Словом текста считается любая последовательность цифр; между соседними словами - не менее одного пробела, за последним словом – точка. Найти и сохранить в строке те слова текста, которые образованы неубывающей последовательностью символов. Все остальные слова удалить.

Вот нужно написать такую программу, я очень долго пытался сам сделать, но не получается
Как я понял, суть в том, чтобы написать 1 правильный цикл и всё будет работать, в голове я примерно понял как, а как программным кодом не знаю
т.е. Мы сравниваем 2 числа, если 1-ое число больше 2-го, уже сразу видно, что не подходит, т.е. удаляем.
Если 1-ое число меньше 2-го, тогда мы печатаем его на экран и, каким-то образом, что мне не понятно, дальше начинаем проверку, т.е. 3-го числа со вторым, и т. д.
Работу надо сдать уже завтра, и времени нет
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.06.2013, 21:58
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Найти и сохранить в строке те слова текста, которые образованы неубывающей последовательностью символов (C++):

Найти и сохранить в каждой строке только те слова, которые удовлетворяют условию (файловый ввод/вывод) - C++
Вечер добрый. Помогите студенту, пожалуйста: завтра экзамен в университете, а на допуск нужно сделать еще одну лабораторную, а я с...

В строке символов найти все слова, которые начинаются и заканчиваются одинаковой буквой - C++
Помогите сделать программу Вот задания: В строке символов найти все слова которые начинаются и заканчиваются одинаковой буквой

Удалить из текста все слова, которые начинаются с букв, заданных в строке запроса - C++
Пытался сам написать,но выдает ошибку.Как правильно должен выглядеть код?Заранее спасибо. #include<iostream> #include<stdio.h> ...

Вывести все слова входного потока, заканчивающиеся заданной последовательностью символов - C++
Пожалуйста помогите!

Все слова (кроме первого и последнего), длиннее К символов, заменить последовательностью из заданного символа - C++
#include <iostream> using namespace std; #define N 40 void func() { cout << "Замена содержимого всех слов длиннее K символов на...

Выделить из текста все слова которые имеют длину 6 символов и начинаются на "С" - C++
Ввести текст состоящий не менее чем из 15 слов. Выделить из текста все слова которые имеют длину 6 символов и начинаются на "С"

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Olivеr
412 / 408 / 13
Регистрация: 06.10.2011
Сообщений: 831
24.06.2013, 22:27 #2
Цитата Сообщение от Keyn Посмотреть сообщение
Словом текста считается любая последовательность цифр; между соседними словами - не менее одного пробела, за последним словом – точка.
Получается, что слова в строке - числа. Тогда можно так:
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
#include <iostream>
#include <vector>
#include <algorithm>
#include <functional>
#include <cstdint>
 
using namespace std;
 
int main()
{
    uint64_t x; //на всякий случай 64
    vector<int> v;
 
    while ( cin >> x ) {
        v.clear();
 
        for (uint64_t t = x; t; t /= 10)
            v.push_back(t % 10);
 
        auto it = v.crbegin();
        for (; it != v.crend(); ++it)
            if ( any_of( it + 1, v.crend(), bind2nd( less<int>(), *it ) ) )
                break;
        if (it == v.crend()) cout << "OK: " << x << endl;
    }
    return 0;
}
http://ideone.com/Fe9U5q
Изображения
 
Keyn
0 / 0 / 0
Регистрация: 13.06.2013
Сообщений: 6
24.06.2013, 22:42  [ТС] #3
Спасибо большое)
Вот теперь правда проблема, у меня стоит Rad Studio 10.0 (Друг посоветовал)
И после запуска, программы, у меня прога зависает. Какой программой пользуетесь вы?
Я бы тогда поставил вашу программу.
Olivеr
412 / 408 / 13
Регистрация: 06.10.2011
Сообщений: 831
24.06.2013, 22:43 #4
Ну, у меня IDE Code::Blocks с компилятором MinGW
MrGluck
24.06.2013, 22:49
  #5

Не по теме:

Друг посоветовал сменить IDE на Rad Studio 10.0 - сменил друга

Keyn
0 / 0 / 0
Регистрация: 13.06.2013
Сообщений: 6
24.06.2013, 22:51  [ТС] #6
Где же вы такой компилятор нашли))
Я установил codeblock, запускаю программу, выдает такую ошибку :

#error This file requires compiler and library support for the \
ISO C++ 2011 standard. This support is currently experimental, and must be \
enabled with the -std=c++11 or -std=gnu++11 compiler options.
Olivеr
412 / 408 / 13
Регистрация: 06.10.2011
Сообщений: 831
24.06.2013, 22:54 #7
@Keyn, а теперь откройте Settings -> Compiler -> Compiler settings -> Other options -> пишите в окошко -std=c++11
MrGluck
Модератор
Эксперт CЭксперт С++
7209 / 4375 / 638
Регистрация: 29.11.2010
Сообщений: 11,887
24.06.2013, 22:56 #8
@Keyn, коли стандарт 11 мингв ваш поддерживает, то
Найти и сохранить в строке те слова текста, которые образованы неубывающей последовательностью символовНайти и сохранить в строке те слова текста, которые образованы неубывающей последовательностью символов
MrGluck
Модератор
Эксперт CЭксперт С++
7209 / 4375 / 638
Регистрация: 29.11.2010
Сообщений: 11,887
24.06.2013, 22:57 #9
одно из двух
Keyn
0 / 0 / 0
Регистрация: 13.06.2013
Сообщений: 6
24.06.2013, 23:03  [ТС] #10
Oliver, Спасибо огромное программа заработала, и не каких ошибок не выдает.
MrGluck вам тоже спасибо, без той галочки в настройках, программа выдавала ошибки!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.06.2013, 23:03
Привет! Вот еще темы с ответами:

Найти в строке те слова, которые начинаются с прописной буквы - C++
Помогите, пожалуйста, а то я в информатике, а тем более в С++ совсем не шарю) Дана строка. Словом текста считается любая...

Напечатать слова, которые отличны от последнего слова текста, предварительно удалив из слова последнюю букву - C++
Дана последовательность содержащая от 1 до 30 слов, в каждом из которых от 1 до 5 строчных латинских букв; между соседними словами не менее...

Найти в строке слова, которые начинаются и оканчиваются одной и той же буквой - C++
дана строка найти в ней те слова которые начинаются и оканчиваются одной и той же буквой. на С++, помогите люди добрые пожалуйста, лучше...

Найти в строке те слова, которые начинаются и оканчиваются одной и той же буквой. - C++
Есть на паскале код uses crt; var s,s1:string; n,i,k,f:byte; begin clrscr; writeln('Введите последовательность слов,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
24.06.2013, 23:03
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru