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

Получить строку, составленную из слов исходной строки, начинающихся с букв 'pr'

07.11.2021, 18:30. Показов 5651. Ответов 20

Студворк — интернет-сервис помощи студентам
Результат записать в новую строку.

Получить строку, составленную из слов исходной строки, начинающихся с
букв 'pr'.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
07.11.2021, 18:30
Ответы с готовыми решениями:

Получить строку, составленную из слов исходной строки, начинающихся и заканчивающихся одной и той же буквой
Выполнить задание для введенной строки символов. Результат записать в новую строку. Текст – непустая последовательность символов. ...

Дана строка из 20 слов. Сформировать строку, составленную из последних букв всех слов исходной строки
Задача: дана строка из 20 слов (или любого другого числа). Сформировать строку, составленную из последних букв всех слов исходной строки.

Файлы. Вывести на экран строку, составленную из средних букв всех слов первоначальной строки
Файлы(результат обработки строк файла записать во второй текстовый файл) Вывести на экран строку, составленную из всех букв первоначальной...

20
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
07.11.2021, 18:57
Лучший ответ Сообщение было отмечено RaveRoaR как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <sstream>
using namespace std;
 
int main() 
{     
    string s="prime place driver producer programme", word, s1;
    stringstream in(s);
    
    while(in >> word)
    {
        if(word.size()==1) continue;
        if(word[0]=='p' && word[1]=='r') s1+=word + ' ';
    }    
    
    cout << s1 << "\n";
    
system("pause");
return 0;
}
1
404 / 261 / 168
Регистрация: 13.01.2021
Сообщений: 1,162
07.11.2021, 18:58
RaveRoaR,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <string>
using namespace std;
int main()
{
    int k = 0;
    string a = "fwfweerpr--egerherhrbdf ew", b;
    for(int i = 0; i < a.length(); i++){
        if(a[i] == 'p' && a[i+1] == 'r'){
            k = i+1;
        }
    }
    for(int i = 0; i < a.length(); i++){
        if(i > k){
            b += a[i];
        }
    }
    cout << b << endl;
    return 0;
}
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
07.11.2021, 20:36
kirigaua, у Вас в строке нет слов, начинающихся на pr. сам код ошибочен
0
0 / 0 / 0
Регистрация: 25.10.2021
Сообщений: 68
08.11.2021, 17:22  [ТС]
А можно с помощью cin'а еще?
Ибо когда я сделал с помощью cin'a у меня после запятой слова с pr не выводится, а через твой пример - выводится.

Добавлено через 1 минуту
Yetty, можно еще с помощью cin'a?
Я попробовал с cin'ом у меня слова начинающиеся с pr, которые стоят после запятой не выводятся.
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
08.11.2021, 18:44
RaveRoaR, покажите строку
0
0 / 0 / 0
Регистрация: 25.10.2021
Сообщений: 68
08.11.2021, 19:20  [ТС]
Yetty,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <sstream>
using namespace std;
 
int main() 
{     
    string s, word, s1;
 cout << "Vvedite predlojenie" \n;
cin >> s;
    stringstream in(s);
 
    
    while(in >> word)
    {
        if(word.size()==1) continue;
        if(word[0]=='p' && word[1]=='r') s1+=word + ' ';
    }    
    
    cout << s1 << "\n";
    
system("pause");
return 0;
}
Если я ввожу предложение то слово с pr выводится, если с запятой например privet, privet - выводится только privet до запятой.
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
08.11.2021, 20:23
Лучший ответ Сообщение было отмечено RaveRoaR как решение

Решение

RaveRoaR, никакое 'предложение' по условию задачи вводить не нужно (и вообще не используйте транслит). что касается строки, строка вводится через getline
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <sstream>
#include <string>
using namespace std;
 
int main() 
{     
    string s, word, s1; 
    cout << "String:\n";
    getline(cin, s);
 
    stringstream in(s);
   
    while(in >> word)
    {        
        if(word.size()!=1 && word[0]=='p' && word[1]=='r') s1+=word + ' ';
    }    
    
    cout << s1 << "\n";
    
system("pause");
return 0;
}
вариант без потока:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <string>
using namespace std;
 
int main() 
{     
    string word, s;
    
    cout << "String:\n";   
    while(cin >> word)
    {        
        if(word.size()!=1 && word[0]=='p' && word[1]=='r') s+=word + ' ';
        if (cin.get()=='\n') break;
    }    
    
    cout << s << "\n";
    
system("pause");
return 0;
}
1
0 / 0 / 0
Регистрация: 25.10.2021
Сообщений: 68
10.11.2021, 20:09  [ТС]
А можно с помощью char'a написать, без использования string?
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
10.11.2021, 20:40
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <cstring> 
using namespace std;
 
int main ()
{
    char s[256]="prime place driver producer programme", res[256]={0}, *t;    
    
    t=strtok(s," ");
 
    while (t!=0)
    {
        if(*t=='p' && *(t+1)=='r') {strcat(res,t);strcat(res," ");}
        t=strtok(0," "); 
    }
    
    cout << res << "\n";
 
system("pause");
return 0;
}
0
 Аватар для analogov net
2524 / 1123 / 493
Регистрация: 17.11.2018
Сообщений: 2,832
10.11.2021, 22:16
Цитата Сообщение от RaveRoaR Посмотреть сообщение
А можно с помощью char'a написать
можно попробовать, например:
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
#include <iostream>
#include <cstring> 
using namespace std;
 
int main()
{
    char buf[] = "prime place driver producer programme", *p = buf;
    int i = 0;
 
    cout << "source: " << buf << endl;
 
    while( ( p = strstr( p, "pr" ) ) != nullptr )
    {
        if( ( p == buf || *( p - 1 ) == ' ' ) )
        {
            while( isalpha( *p ) )
                buf[i++] = *p++;
 
            buf[i++] = ' ';
        }
        else
            p++;
    }
    buf[i] = '\0';
 
    cout << "result: " << buf << endl;
 
    return 0;
}
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
10.11.2021, 22:25
analogov net,
Цитата Сообщение от RaveRoaR Посмотреть сообщение
Результат записать в новую строку
0
 Аватар для analogov net
2524 / 1123 / 493
Регистрация: 17.11.2018
Сообщений: 2,832
10.11.2021, 22:35
Yetty, так я старую строку перезаписал и у меня получилась новая. Её-то я и вывел на экран.
И, кстати, в задании не сказано, что нужно использовать дополнительный массив для новой строки...
А сказано, лишь, что нужно...
Цитата Сообщение от RaveRoaR Посмотреть сообщение
Получить строку, составленную из слов исходной строки, начинающихся с букв 'pr'.
Я эту строку получил. Как говорится, не важен способ, а важен результат...
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
10.11.2021, 23:04
analogov net, если Вы не видите разницы между преобразовать начальную строку и создать новую строку
то как говорится так тому и быть
0
 Аватар для analogov net
2524 / 1123 / 493
Регистрация: 17.11.2018
Сообщений: 2,832
10.11.2021, 23:10
Yetty, в задании нет слова "создать". Там есть слово "получить". А это не одно и то же... Так что всё верно у меня.
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
10.11.2021, 23:17
analogov net, в таком случае первая строка условия не нужна
Цитата Сообщение от RaveRoaR Посмотреть сообщение
Результат записать в новую строку.
Получить строку, составленную из слов исходной строки, начинающихся с
букв 'pr'.
Ваш код полностью подходит под это условие. вопрос: зачем эта строка написана в условии задачи ?
0
 Аватар для analogov net
2524 / 1123 / 493
Регистрация: 17.11.2018
Сообщений: 2,832
10.11.2021, 23:23
Цитата Сообщение от Yetty Посмотреть сообщение
вопрос: зачем эта строка написана в условии задачи ?
Что бы было понятно, что полученную строку нужно записывать не в конец исходной, а в начало.

Добавлено через 1 минуту
То есть нужно удалить старую запись в исходной строке и вместо неё записать новую...
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
10.11.2021, 23:29
analogov net, на примере другой задачи:
есть массив A. получить массив из чётных элементов массива A. результат записать в новый массив.

Ваши действия ? стираем начальный массив ?
0
 Аватар для analogov net
2524 / 1123 / 493
Регистрация: 17.11.2018
Сообщений: 2,832
10.11.2021, 23:39
Цитата Сообщение от Yetty Посмотреть сообщение
стираем начальный массив ?
Yetty, я обычно делаю так, как мне хочется в данный момент. Если, конечно, это специально не оговорено условиями задания.

Добавлено через 2 минуты
Ну, что ты хочешь, что бы я в конце своего кода написал что-то типа:
C++
1
 strcpy(buf2, buf);
А смысл?
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
11.11.2021, 00:11
analogov net, то что я сообщаю, в основном для ТС. так как Вас видимо переубедить невозможно, да и незачем
Цитата Сообщение от analogov net Посмотреть сообщение
что бы я в конце своего кода написал что-то типа
нет. я же как пример привёл задачу с массивом - старый массив не стирается, поэтому код написан изначально не под условие задачи
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
11.11.2021, 00:11
Помогаю со студенческими работами здесь

Сформировать строку из слов исходной строки, начинающихся на заданную букву (dll-библиотека)
Разработать dll-библиотеку на языке ассемблера с функциями обработки строк. Сформировать строку из слов исходной строки, начинающихся на...

Дана строка символов. Получить строку, составленную из первых символов всех слов строки
Добрый день! Начать хочется с того что на с# я еще не работал, на сайтах много чего написано как делать это задание но, как то не...

Дана строка символов. Получить строку, составленную из первых символов всех слов строки
Добрый день! Помогите решить задачу: Дана строка символов. Получить строку, составленную из первых символов всех слов строки

Дан список слов,разделенных между собой пробелами. Вывести на экран строку, составленную из n первых букв всех слов
Дан список слов,разделенных между собой пробелами. Вывести на экран строку, составленную из n первых букв всех слов.

Дана строка, состоящая из слов. Получить новую строку из последних символов всех слов исходной строки
Подскажите, пожалуйста, как написать программу таким образом, что бы если между символами будет поставлено 7 пробелов, браузер их выводил


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru