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

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

07.11.2021, 18:30. Показов 5715. Ответов 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
2532 / 1130 / 494
Регистрация: 17.11.2018
Сообщений: 2,836
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
2532 / 1130 / 494
Регистрация: 17.11.2018
Сообщений: 2,836
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
2532 / 1130 / 494
Регистрация: 17.11.2018
Сообщений: 2,836
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
2532 / 1130 / 494
Регистрация: 17.11.2018
Сообщений: 2,836
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
2532 / 1130 / 494
Регистрация: 17.11.2018
Сообщений: 2,836
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
Ответ Создать тему
Новые блоги и статьи
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru