Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
 Аватар для RiseOFG
0 / 0 / 0
Регистрация: 30.11.2013
Сообщений: 2

Работа с текстовой строкой

30.11.2013, 01:13. Показов 1019. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте уважаемые учасники форума, вот не задача, учусь в университете (1 курс), делал последнее задание на дом, сделал 4 из 5 задач, но последнюю никак не могу. Попалась работа с текстовой строкой, а я практически в этом не разбираюсь.
Буду очень благодарен, если кто-то хотя бы опишет последовательность действий, а если будет настроение, набросает примерный код.
Благодарю за внимание, с меня "+".

Задание:
С клавиатуры вводиться текстовая строка. Написать програму, которая подсчитывает количество чисел в тексте (не цифр, а чисел); выводит на екран все слова, написаные только латинскими буквами, удаляет каждое второе слово
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.11.2013, 01:13
Ответы с готовыми решениями:

Префикс L перед текстовой строкой
Подскажите пожалуйста что означает буква L перед строкой ,и есть ли другие и как это правильно называется ? F.e: const...

Как с текстовой строкой сделать следующее ?
С клавиатуры вводится текстовая строка, нужно посчитать количество цифр в ней, вывести на экран слова начинающиеся с согласных букв, и...

Вычисление значения выражения, заданного текстовой строкой
с++ Как можно получить ответ примера, заложенного в текстовой строке, например "10 * 20 - 100 + 40 / 50 * 30"

12
 Аватар для arcana
2 / 2 / 2
Регистрация: 20.09.2013
Сообщений: 20
30.11.2013, 17:34
1 up
0
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
30.11.2013, 17:41
Цитата Сообщение от RiseOFG Посмотреть сообщение
удаляет каждое второе слово
В строке? Их там много, вторых?
0
30.11.2013, 19:52

Не по теме:

arcana, клонирование на форуме запрещено. У Вас проблемы со входом? Отпишите мне в личку

0
 Аватар для RiseOFG
0 / 0 / 0
Регистрация: 30.11.2013
Сообщений: 2
01.12.2013, 00:52  [ТС]
Taatshi, мы разные люди, утром брат апнул тему.

Добавлено через 1 минуту
alsav22, к примеру ввожу текст: "Это пример текста для форума", должны быть удалены слова: "пример" и "для".
0
01.12.2013, 00:54

Не по теме:

RiseOFG, ясн

0
 Аватар для FAQEnD
43 / 43 / 15
Регистрация: 15.12.2012
Сообщений: 88
01.12.2013, 01:56
не реализовал функцию вывода слов, которые состоят только из латиницы, потому что есть вопрос:
В слове не может быть цифр/точек/запятых?
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
#include <iostream>
#include <string>
using namespace std;
 
int main()
{
    //Сколько же у нас чисел? Узнаем ниже:
    string str;
    int j, nums(0);
    cout<<"Enter str"<<endl;
    getline(cin, str);
    str+=' ';
    for(int i = 0; i < str.size(); i++)
    {
        j = i;
        while(isdigit(str[j]))//текущий символ цифра?
            {
                j++;
                i = j;
                if(!isdigit(str[j]))//как? уже не цифра? Тогда все пред. символы цифр были одним числом
                    nums++;
            }
    }
    cout<<"We have "<<nums<<" nums"<<endl;
    //Убираем каждое второе слово ниже:
    int space_count(0), word_start(0), word_end(0), word_count(1);
    for(int i = 0; i < str.size(); i++)
    {
        if(str[i] == 32)//если текущий символ равен пробелу
        {
            space_count++;
            if(space_count == 1)
            {
                word_start = i;//начало слова
                for(j = i+1; j < str.size(); j++)
                    if(str[j] == 32)
                    {
                        word_end = j;//конец
                        break;
                    }
            }
        }
        if(space_count == 1)
        {
            str.erase(word_start, word_end - word_start);//вырезаем от начала, и колличество символов конец - начало
            space_count = 0;
        }
    }
    cout<<str;
    system("Pause");
    return 0;
}
1
 Аватар для arcana
2 / 2 / 2
Регистрация: 20.09.2013
Сообщений: 20
01.12.2013, 02:10
FAQEnD, нет, в словах не будет точек, заятых, чисел. Пока спасибо, буду сейчас разбираться.

Добавлено через 3 минуты
Аааа, это гениально, посмотреть есть ли после цифры пробел
0
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
01.12.2013, 11:37
Цитата Сообщение от RiseOFG Посмотреть сообщение
alsav22, к примеру ввожу текст: "Это пример текста для форума", должны быть удалены слова: "пример" и "для".
И при чём здесь тогда каждое второе ("На первый второй рассчитайсь!")? Это если бы несколько строк было, то было бы понятно: каждое второе, в каждой строке. Тут удаляются все чётные в строке.
0
01.12.2013, 11:44

Не по теме:


Допустим, у нас есть класс в котором 10 девочек и 10 мальчиков.
Тогда по теории ТС каждый второй ученик в классе - это мальчик,
а по теории alsav22, каждый четный ученик в классе - мальчик :D
если в классе 5 мальчиков и 10 девочек (ух повезло), то
ТС: каждый третий ученик в классе - мальчик
alsav22: даже не знаю...

0
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
01.12.2013, 12:06

Не по теме:

Croessmah, ничего не понял...


Для ТС добавлю, что условие могло быть таким, если бы строка состояла из нескольких предложений. Тогда нужно было добавить: удаляет каждое втрое слово в предложениях.
0
Неэпический
 Аватар для Croessmah
18149 / 10731 / 2067
Регистрация: 27.09.2012
Сообщений: 27,035
Записей в блоге: 1
01.12.2013, 12:13
Цитата Сообщение от alsav22 Посмотреть сообщение
Croessmah, ничего не понял...
расчитайте слова в тексте на первый-второй, получите:

вот удалить нужно каждое слово, помеченное двойкой
0
01.12.2013, 12:43

Не по теме:

Цитата Сообщение от Croessmah Посмотреть сообщение
расчитайте слова в тексте на первый-второй, получите:
Это понятно, поэтому я и написал:
Цитата Сообщение от alsav22 Посмотреть сообщение
И при чём здесь тогда каждое второе ("На первый второй рассчитайсь!")?
Т.е., если "На первый второй рассчитайсь!", то только тогда совпадает с примером ТС. Но я так условие, описанное в первом посте, не понимаю. Если каждое чётное, тогда понятно. Может для других и так понятно, что нужно сделать расчёт на первый второй, не знаю.


Не по теме:

Почему тогда не рассчитаться на первый, второй, третий (в задании ведь про рассчёт ничего нет) и удалять каждое второе?

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.12.2013, 12:43
Помогаю со студенческими работами здесь

Работа с файлами. Обработка текстовой информации
Необходимо написать программу, которая выполняет указанные операции (каждую операцию оформить отдельной функцией) с информацией,...

Работа с текстовой информацией, одномерными массивами и матрицами.
Здравствуйте... Помогите решить задачу... Отблагадарю))) 2. Имеется N населенных пунктов (N≤15), и сеть авиалиний, соединяющих ...

Работа со строкой
Помогите, пожалуйста, как сделать так, что бы: cout &lt;&lt; &quot;Раскодирование файла. Введите исходный файл&gt;&quot;; char in; cin...

Работа со строкой
Задача: Запнулся над забиванием пробелами между словами. Что уже есть: #include &lt;iostream&gt; using namespace std; //...

Работа со строкой
Написать прогу которая переварачивает слова в строке s


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&amp;d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru