Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.92
santok6
0 / 0 / 0
Регистрация: 07.09.2011
Сообщений: 12
#1

Напишите программу, которая выводит на экран все слова, которые имеют определенный символ в определенной позиции - C++

13.06.2012, 18:55. Просмотров 1838. Ответов 9
Метки нет (Все метки)

Здравствуйте.
Препод сегодня задал решить задачу но это совсем не мой уровень, а завтра нужно показать, помогите пожалуйста!

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

Заранее спасибо!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.06.2012, 18:55
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Напишите программу, которая выводит на экран все слова, которые имеют определенный символ в определенной позиции (C++):

Написать программу, выводящую все слова, имеющие определенный символ в заданной позиции - C++
Есть строка, состоящая из слов, разделенных любым количеством промежутков. Напишите программу, которая выводит на экран все слова, которые...

Напишите программу, которая выводит все простые числа, которые являются палиндромами - C++
Напишите программу, которая выводит все простые числа, которые являются палиндромами

Напишите программу, которая просит вас ввести какое-нибудь значение кода ASCII (например, 66), а затем выводит на экран символ, соответствующий этому - C++
Напишите программу, которая просит вас ввести какое-нибудь значение кода ASCII (например, 66), а затем выводит на экран символ,...

Напишите программу, которая удаляет из слова X все буквы, которые встречаютьс в слове Z - C++
Программа работает не правильно:( не могу понять как удалить буквы. #include <stdio.h> #include <conio.h> #include <iostream> ...

Написать функцию, которая выводит на экран все слова за данной строки, в которые заданная буква входит N или более раз. - C++
нужна помошь! ни как не могу разобраться В главной программе ввести с клавиатуры две строки длиной до 50...80 символов соответственно,...

[C++] Напишите программу, которая выводит на экран... - C++
Напишите программу, которая выводит на экран вводимые символы до тех пор, пока не введено <CTRL/Z>, выводит количество введенных символов,...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
novi4ok
551 / 504 / 8
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
13.06.2012, 19:02 #2
ну хоть какой-то уровень есть?

определяем указатель на char, устанавливаем его на начало строки и инкременируем его, пока не упремся в непробел (т.е. подгоняем к началу слова).
определяем, является ли символ со смещением, равным "определенной позиции" "определенным символом", и в то же время подстрока до этого символа не содержит пробелов. если да - ищем следующий пробел (это будет конец слова), и выводим его (слово) на экран. ищем начало следующего слова.
не нужно также забывать конец строки контроллировать. в общем, посидеть и сделать.
easybudda
Модератор
Эксперт CЭксперт С++
9530 / 5523 / 932
Регистрация: 25.07.2009
Сообщений: 10,599
13.06.2012, 19:05 #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <sstream>
#include <string>
 
int main() {
    const int INDEX(2);
    const char SYMBOL('a');
    std::string s;
    
    while ( std::cout << "String: " && std::getline(std::cin, s) && ! s.empty() ) {
        std::istringstream ist(s);
        while ( ist >> s )
            if ( s.length() > INDEX && s[INDEX] == SYMBOL )
                std::cout << s << std::endl;
    }
    
    return 0;
}
santok6
0 / 0 / 0
Регистрация: 07.09.2011
Сообщений: 12
13.06.2012, 19:15  [ТС] #4
Добавлено через 59 секунд
Цитата Сообщение от easybudda Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <sstream>
#include <string>
 
int main() {
    const int INDEX(2);
    const char SYMBOL('a');
    std::string s;
    
    while ( std::cout << "String: " && std::getline(std::cin, s) && ! s.empty() ) {
        std::istringstream ist(s);
        while ( ist >> s )
            if ( s.length() > INDEX && s[INDEX] == SYMBOL )
                std::cout << s << std::endl;
    }
    
    return 0;
}

Спасибо большое Вам, а Вы не могли бы комментарии написать ко всем функциям пожалуйста, что бы я понял что за что отвечает

Добавлено через 1 минуту
Цитата Сообщение от novi4ok Посмотреть сообщение
ну хоть какой-то уровень есть?

определяем указатель на char, устанавливаем его на начало строки и инкременируем его, пока не упремся в непробел (т.е. подгоняем к началу слова).
определяем, является ли символ со смещением, равным "определенной позиции" "определенным символом", и в то же время подстрока до этого символа не содержит пробелов. если да - ищем следующий пробел (это будет конец слова), и выводим его (слово) на экран. ищем начало следующего слова.
не нужно также забывать конец строки контроллировать. в общем, посидеть и сделать.
какой-то есть но очень слабенький! так что сам пока что такое делать не могу
novi4ok
551 / 504 / 8
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
13.06.2012, 19:19 #5
C++
1
2
    const int INDEX(2);
    const char SYMBOL('a');
это - неудачный жаргон.
easybudda
Модератор
Эксперт CЭксперт С++
9530 / 5523 / 932
Регистрация: 25.07.2009
Сообщений: 10,599
13.06.2012, 19:27 #6
Цитата Сообщение от novi4ok Посмотреть сообщение
это - неудачный жаргон.
С блестящей идеей ковырять всю строку по символу при этом отслеживая несколько индексов одновременно конечно не сравнится, но тем не менее - а что тут неудачного?
novi4ok
551 / 504 / 8
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
13.06.2012, 19:32 #7
Цитата Сообщение от easybudda Посмотреть сообщение
С блестящей идеей ковырять всю строку по символу при этом отслеживая несколько индексов одновременно конечно не сравнится, но тем не менее - а что тут неудачного?
0. не обижайся и не становись в позу. у тебя очень элегантное решение. но ...
1. человуку, задавшему вопрос, понять это будет сложнее, чем поковырять в носу (если ты - джентльмен, ты обязан теперь растолковать спросившему, что такое stl).
2. я не критиковал твое решение, а "жаргоном" назвал то, как ты определил константы.
easybudda
Модератор
Эксперт CЭксперт С++
9530 / 5523 / 932
Регистрация: 25.07.2009
Сообщений: 10,599
13.06.2012, 19:32 #8
Цитата Сообщение от santok6 Посмотреть сообщение
написать ко всем функциям
Без понимания того, что из себя представляют стандартные классы, здесь использованные, толка мало будет. Для начала вот с этим разберитесь: string, istringstream, а там, что останется неясным - спрашивайте...
novi4ok
551 / 504 / 8
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
13.06.2012, 19:37 #9
Цитата Сообщение от easybudda Посмотреть сообщение
Без понимания того, что из себя представляют стандартные классы, здесь использованные, толка мало будет. Для начала вот с этим разберитесь: string, istringstream, а там, что останется неясным - спрашивайте...
именно то, о чем я говорю. типа "научись сперва программировать, потом вопросы задавай". если бы он в этом "разобрался", он бы не задавал здесь этот вопрос. ему нужно сегодня это решить, и завтра, возможно, идти сдавать, и быть в состоянии рассказать преподавателю (который тоже не обязательно знает намного больше, возможно, это калинарный тефникум), как это работает. ему не нужно строку разобрать.
вспомни, сколько тебе времени потребовалось бы на освоение stl во времена, когда ты был на этом уровне. если один вечер - съедаю шляпу.
easybudda
13.06.2012, 20:07     Напишите программу, которая выводит на экран все слова, которые имеют определенный символ в определенной позиции
  #10

Не по теме:

Цитата Сообщение от novi4ok Посмотреть сообщение
сколько тебе времени потребовалось бы на освоение stl во времена, когда ты был на этом уровне. если один вечер - съедаю шляпу.
На то, чтобы разобрать простенький пример в пять строк имея перед глазами довольно лаконичную инструкцию понадобится от силы час (это с двумя перекурами и походом на кухню за чаем). Тут важнее желание. Мне хотелось в своё время понять, что происходит - почитал книжки, посмотрел примеры здесь же на форуме и более-менее понял, как это работает. Было бы просто для зачёта нужно, ну сдал бы как-нибудь и забыл, как страшный сон.
А вообще офтоп прекращаем, дальше только по теме.

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.06.2012, 20:07
Привет! Вот еще темы с ответами:

Написать программу, которая выводит на экран массив с указанной пользователем позиции - C++
Одномерный динамический массив. Написать программу, которая выводит на экран массив с указанной пользователем позиции. Если позиция больше...

Вывести на экран все слова, которые имеют даные символы - C++
Вывести на экран все слова, которые имеют даные символы. Написал кусок кода, незнаю как реализовать вывод. #include &lt;iostream&gt; #include...

Создать функцию, которая из введенного пользователем слова выводит на экран k-й символ - C++
Уважаемые форумчане. Очень нужна помощь в написании программы. Необходимо создать функцию, которая из введенного пользователем слова...

Составить программу, которая выводит на экран все натуральные числа в диапазоне от 1 до n, которые являются степенью числа 2 - C++
Составил задачу которая только увеличивает на один ну тое сть выводит:1,2,3,4,...n Пытаюсь изменить чтоб выводило квадрат и тут...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
13.06.2012, 20:07
Ответ Создать тему
Опции темы

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