Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
3 / 4 / 1
Регистрация: 05.01.2015
Сообщений: 465
1

Удалить слова, начинающиеся с заданной подстроки, а слова без заданной подстроки, упорядочить по возрастанию

07.10.2016, 09:48. Показов 932. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
С консоли осуществляется ввод массива строк. Удалить все слова, начинающиеся с заданной подстроки. Все строки, не содержащие заданной подстроки, упорядочить по возрастанию в алфавитном порядке.

C++
1
2
3
4
5
6
7
        char mas[10][10];
 
    for(int i=0;i<10;i++)
    {
        gets(mas[i]);
    }
................................
Добавлено через 17 минут
Первое понятно, а вот как сравнить, удалить и упорядочить?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.10.2016, 09:48
Ответы с готовыми решениями:

Функция вставки подстроки (слова) в предложение с заданной позиции
Здравствуйте нужно разработать системную функцию на языке С++ и включить ее в системную...

Разбитие на подстроки заданной длины с учётом окончания слова
Добрый день я написал маленький кусочек кода который делить строки на подстроки данной длины. ...

Найти все слова, содержащие хотя бы одно вхождение заданной подстроки
Дан массив из слов X(n). Найти все слова, содержащие хотя бы одно вхождение заданной подстроки.

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

5
7803 / 6567 / 2988
Регистрация: 14.04.2014
Сообщений: 28,706
07.10.2016, 09:59 2
Где вы этот gets() находите?
C++
1
cin.getline(mas[i], 10);
Сначала сделай разделение на слова.
0
3 / 4 / 1
Регистрация: 05.01.2015
Сообщений: 465
07.10.2016, 10:01  [ТС] 3
Где вы этот gets() находите?
Так задали...

Так как можно сравнить подстроку со строками массива строк, может функция есть или метод???
0
7803 / 6567 / 2988
Регистрация: 14.04.2014
Сообщений: 28,706
07.10.2016, 10:03 4
Цитата Сообщение от manchester_alan Посмотреть сообщение
Так задали
Преподаватель древний, что ли? Хотя бы fgets бери.

strcmp() сравнивает строки.
0
шКодер самоучка
2280 / 1956 / 945
Регистрация: 09.10.2013
Сообщений: 4,348
Записей в блоге: 7
07.10.2016, 10:05 5
Цитата Сообщение от manchester_alan Посмотреть сообщение
как сравнить
функция strncmp
Цитата Сообщение от manchester_alan Посмотреть сообщение
удалить
такак у вас массив статической размерности то можно присвоить символу с индексом 0 '\0'(mas[i][0] = 0;)
Цитата Сообщение от manchester_alan Посмотреть сообщение
упорядочить
написать метод сортировки либо использовать готовые(раз, два)

PS: если не критично использовать массив символьных строк, то лучше заменить его на std::vector из std::string
1
Эксперт С++
1624 / 954 / 782
Регистрация: 06.02.2016
Сообщений: 2,452
Записей в блоге: 31
07.10.2016, 15:25 6
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
#include <iostream>
#include <string>
#include <list>
#include <algorithm>
using namespace std;
int main() {
    string str;
    list<string>val;
    for(int i=0; i!=4; i++) {  // вводим 4 строки 
        string s;
        getline(cin,s);
        val.push_back(s);
    }
    getline(cin,str);
    val.remove_if([str](string s1) {
        size_t f=s1.find(str);
        return f!=string::npos;
    });
    cout<<endl;
    val.sort();
    cout<<"After"<<endl;
    for(list<string>::iterator iter=val.begin(); iter!=val.end(); iter++) {
        cout<<*iter<<endl;
    }
    return 0;
}
Добавлено через 5 минут
Или с вектором
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 <string>
#include <algorithm>
#include <vector>
using namespace std;
int main() {
    string str;
    vector<string>val;
    for(int i=0; i!=4; i++) {  // вводим 4 строки
        string s;
        getline(cin,s);
        val.push_back(s);
    }
    getline(cin,str);
    vector<string>::iterator fond=remove_if(val.begin(),val.end(),[str](string s1) {
        size_t f=s1.find(str);
        return f!=string::npos;
    });
    cout<<endl;
    val.erase(fond,val.end());
    sort(val.begin(), val.end());
    cout<<"After"<<endl;
    for(vector<string>::iterator iter=val.begin(); iter!=val.end(); iter++) {
        cout<<*iter<<endl;
    }
    return 0;
}
1
07.10.2016, 15:25
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.10.2016, 15:25
Помогаю со студенческими работами здесь

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

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

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

В заданной последовательности слов найдите все слова, начинающиеся с заданной приставки
Люди помогите с задачкой, я пишу на паскале а язык С++ я попросту не знаю...))) В долгу не...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru