Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Sasha0407
0 / 0 / 0
Регистрация: 15.06.2013
Сообщений: 29
#1

Удалить из строки все слова, которые не являются идентификаторами - C++

29.03.2014, 01:26. Просмотров 735. Ответов 5
Метки нет (Все метки)

Задана строка, состоящая из символов. Символы объединяются в слова. Слова друг от друга отделяются одним или несколькими пробелами. В конце текста ставится точка. Текст содержит не более 255 символов. Выполнить ввод строки, используя функцию gets(s) .Удалить из строки все слова, которые не являются идентификаторами.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.03.2014, 01:26
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Удалить из строки все слова, которые не являются идентификаторами (C++):

Удалить из строки все слова не являющиеся идентификаторами
Баллов: --/1 Задана строка, состоящая из символов. Символы объединяются в...

Удалить из строки все слова, которые начинаются на заглавную букву
слова в строке могут разделяться пробелами и знаками препинания,в конце "."...

Удалить из текста все символы, которые не являются буквами
Удалит из текста все символы, которые не являются буквами латинского алфавита...

Удалить из строки все находящиеся в ней слова «студент» и определить все позиции вхождения этого слова
Удалить из строки все находящиеся в ней слова «студент» и определить все...

Удалить слова из текста, которые содержат все буквы первого слова
Как можно реализовать сие на c++? Не совсем понимаю принцип.

Удалить из массива все элементы, которые не являются однозначными или двухзначными.
Дан массив из n натуральных чисел. Удалить из массива все элементы, которые не...

5
IrineK
Заблокирован
29.03.2014, 02:27 #2
Идентификаторами чего? Уточните, пожалуйста.
0
Sasha0407
0 / 0 / 0
Регистрация: 15.06.2013
Сообщений: 29
29.03.2014, 02:52  [ТС] #3
Я и сам не понимаю...но делать надо....помогите разобраться
С инета:
Идентификатор — это последовательность символов, используемая для обозначения одного из следующих элементов:


Имени объекта или переменной


Имени класса, структуры или объединения


Имени перечисленного типа


Члена класса, структуры, объединения или перечисления


Функции или функции члена класса


Имени определения типа (typedef)


Имени метки


Имени макроса


Параметра макроса
0
IrineK
Заблокирован
29.03.2014, 02:57 #4
Возможно, имеются в виду ключевые слова языка С++?
Они, по ходу, являются зарезервированными идентификаторами.

Т.е., мы убираем все слова, кроме:
auto double int struct break else long switch register tupedef char extern return void case float unsigned default for signed union do if sizeof volatile continue enum short while
0
Sasha0407
0 / 0 / 0
Регистрация: 15.06.2013
Сообщений: 29
29.03.2014, 03:15  [ТС] #5
по-моему нет, я думаю что там подразумевалось проверить слова реализованные в тексте (gets(s)) на возможность использования в качестве идентификатора....но я не знаю как это реализовать

Добавлено через 39 секунд
я не знаю вообщем
0
IrineK
Заблокирован
29.03.2014, 03:32 #6
Ну тогда так.

1) Проверяем слово на соответствие алфавиту. Алфавит для идентификаторов: прописные и строчные буквы английского языка, цифры и нижнее подчеркивание т.е.:
_ a b c d e f g h i j k l m n o p q r s t u v w x y z
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
0 1 2 3 4 5 6 7 8 9

2) Проверяем первый знак. Это должен быть либо символ подчеркивания, либо прописная или строчная буква, т.е. нельзя начинать с цифры.

3) Проверяем длину. По стандарту ANSI 6 символов (внешний идентификатор), но, для нашего времени это жестоко. Например, компилятор MS разрешает использовать до 247 символов. Возьмем 247 за основу.

4) Проверяем на совпадение с ключевыми словами. Ключевые слова использовать нельзя - они не могут быть идентификаторами пользователя. Список ключевых слов можно держать в файле или в массиве, по желанию.
0
29.03.2014, 03:32
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.03.2014, 03:32
Привет! Вот еще темы с решениями:

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

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

Удалить из слова X все буквы, которые встречаются в слове Y
#include <iostream> using namespace std; main() { string x, y; ...

Определить длину строки,удалить из строки все символы, которые равны заданному
Доброго времени суток уважаемые форумчане. Помогите пожалуйста с написанием...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru