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

Найти пробел в строке

02.05.2022, 13:05. Показов 1434. Ответов 5

Студворк — интернет-сервис помощи студентам
В программу вводится слово с пробелами в начале и конце. Нужно получить номер последней буквы слова до пробела (с учетом пробелов в начале).

Моя программа работает, если в конце слова не ставить пробелы. Но если поставить пару штук, то цикл почему-то не завершается. Подскажите, как исправить проблему.
Двигаться мне нужно до конца слова по одному символу с какого-то рандомного места.

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
using namespace std;
 
int main()
{
    string slovo; 
    int i=3; // Начальное положение номера элемента (берется рандомное)
 
    cout << "Ведите слово:" << endl;
    getline(cin, slovo);
    cout << "Вы ввели:\n"<< slovo << endl;
    
    //Движемся вправо до первого пробела
      while (slovo[i]) {
        if (slovo[i] != ' ') // После нахождения первого пробела цикл должен завершится
        i++;
    } 
    cout << "Положение последнего символа до пробела находится на " << i << "-ом элементе";
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.05.2022, 13:05
Ответы с готовыми решениями:

как найти предыдущий пробел в строке?
Например я нахожусь в конце строки, как найти предыдущий пробел в строке?

В строке заменить пробел между слов на запятую и пробел
В строке заменить пробел между слов на запятую и пробел

В строке, состоящей из слов и знаков препинания (пробел . : , ! ?-;), найти слово максимальной длины
Помогите пожалуйста составить программу !!! вот условие В строке, состоящей из слов и знаков препинания (пробел . : , ! ?-;), найти...

5
Злостный нарушитель
 Аватар для Verevkin
10641 / 5792 / 1278
Регистрация: 12.03.2015
Сообщений: 26,739
02.05.2022, 14:29
Цитата Сообщение от Канеки Кен Посмотреть сообщение
Нужно получить номер последней буквы слова до пробела (с учетом пробелов в начале).
Если идти по строке с конца, то не придётся учитывать пробелы в начале.
0
0 / 0 / 0
Регистрация: 25.04.2021
Сообщений: 80
02.05.2022, 14:44  [ТС]
Так мне нужно, чтобы вначале учитывало тоже. Только у меня цикл не завершается, когда доходит до первого пробела после слова.
0
 Аватар для ram876
759 / 456 / 213
Регистрация: 19.12.2016
Сообщений: 1,815
02.05.2022, 15:12
Канеки Кен, какую строку вы вводите и что хотите оттуда получить?
0
Злостный нарушитель
 Аватар для Verevkin
10641 / 5792 / 1278
Регистрация: 12.03.2015
Сообщений: 26,739
02.05.2022, 15:28
Цитата Сообщение от Канеки Кен Посмотреть сообщение
Так мне нужно, чтобы вначале учитывало тоже.
Не нужно. Тебе нужно найти номер позиции последней буквы относительно начала (нуля).

Добавлено через 9 минут
C
1
2
3
4
5
6
7
// номер последнего символа строки, не являющегося пробелом.
unsigned foo(char* s)
{
  char* ptr = s + strlen(s) - 1;
  while (*ptr == ' ' && ptr > s) ptr--; 
  return (unsigned)(ptr - s);
}
1
0 / 0 / 0
Регистрация: 25.04.2021
Сообщений: 80
02.05.2022, 15:47  [ТС]
Решил
C
1
2
3
while (slovo[i] != ' ') {
    i++;
    }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
02.05.2022, 15:47
Помогаю со студенческими работами здесь

В строке, состоящей из слов и знаков препинания(пробел.:,!?-;),найти слово максимальной длины, не содержащее заданную букву
В строке, состоящей из слов и знаков препинания(пробел.:,!?-;), найти слово максимальной длины, не содержащее заданную букву/

В исходной строке, содержащей перечисленные через пробел слова, найти целые положительные числа и составить из них новую строку
Задание: В исходной строке, содержащей перечисленные через пробел слова, найти целые положительные числа и составить из них новую...

В единственной строке входного файла INPUT.TXT записаны два натуральных числа через пробел. Нужно найти их сумму
#include &quot;pch.h&quot; #include &lt;iostream&gt; #include &lt;fstream&gt; using namespace std; int main() { ifstream fout(&quot;D:\LOL65.txt&quot;);...

первый пробел в строке
вообщем проблема есть текст – некоторое количество строк. 1)Сжать строки текста удалением левых, правых пробелов и заменой одним...

В строке удалить первый пробел
Во введённой строке удалить первый пробел. Позицию пробела определяет с помощью функции pos, удаление - процендурой delete.


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru