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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.77
kaist
Сообщений: n/a
#1

Вывести слова, заканчивающиеся буквой "а" - C++

28.11.2011, 19:58. Просмотров 1658. Ответов 5
Метки нет (Все метки)

Дана строка символов. Признак конца строки "\n" (перевод строки). Строка состоит из слов, разделенных пробелами. Вывести слова, заканчивающиеся буквой "а", с порядковыми номерами этих слов в данной строке.
 Комментарий модератора 
Запрещено создавать темы с бессмысленными названиями вроде "Помогите!", "Вопрос" и т.п.
Избегайте использования слишком большого количества смайлов в сообщениях в тематических разделах форума, а также "кричащего" выделения текста. Это никаким образом не ускорит решение вашей проблемы.
Пришли за помощью? Соблюдайте правила форума!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.11.2011, 19:58
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вывести слова, заканчивающиеся буквой "а" (C++):

Вывести все слова заканчивающиеся на букву "а" (переделать на dev c++) - C++
Суть программы: Вывести все слова заканчивающиеся на букву "а". #include <stdio.h> #include <stdlib.h> #include <Windows.h> ...

Все слова, не содержащие "bc" и заканчивающиеся на "ad" заменить на "!" - C++
В чем ошибка? //Все слова, не содержащие "bc" и заканчивающиеся на "ad" заменить на "!" #include <iostream> #include <string> ...

Разделить строку на слова, вывести в столбик, подсчитать количество слов с буквой "а" - C++
Здравствуйте! Я новичок в этом деле. застопорился на строках Прошу помощи у вас Мне надо решить пару задач : 1. Дана строка, мне...

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

Вывести текст файла, заменив цифры от 0 до 9 на слова "ноль", "один"."девять", начиная каждое предложение с новой строки - C++
Написать программу, которая считывает текст из файла и выводит его на экран, заменив цифры от 0 до 9 на слова "ноль", "один"..."девять",...

Определить, есть ли в тексте слова, начинающиеся и заканчивающиеся с буквы "А" - C++
Дан текст, состоящий не менее чем из пяти слов. Определить, есть ли в нем слова, начинающиеся и заканчивающиеся с буквы "А", а также...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Сыроежка
Заблокирован
28.11.2011, 20:02 #2
Цитата Сообщение от kaist Посмотреть сообщение
Дана строка символов. Признак конца строки "\n" (перевод строки). Строка состоит из слов, разделенных пробелами. Вывести слова, заканчивающиеся буквой "а", с порядковыми номерами этих слов в данной строке.
Стандартная библиотечная функция strtok, объявленная в заголовочном файле <string.h> в С или в <cstring> в С++ вам в помощь! Почитайте ее описание! Обычно с описанием приводятся простые примеры ее использования.
1
Mиxaил
533 / 438 / 37
Регистрация: 10.12.2009
Сообщений: 1,857
28.11.2011, 20:07 #3
Так пойдет?!
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <string>
#include <sstream>
 
int main()
{
    std::string s( "qwertda yuio tre erwda dasdasdqw" ), temp;
    std::istringstream ist ( s );
    int index = 0;
    while ( ist >> temp )
    {
        if ( *temp.rbegin() == 'a' )
            std::cout << index + 1 << " " << temp << std::endl;
        index++;
    }
    return 0;
}
1
ZaVyLoN
83 / 83 / 6
Регистрация: 26.10.2009
Сообщений: 269
28.11.2011, 20:12 #4
создаешь массив для хранения слова

C++
1
char *mas = new char[N];
затем в цикле каждую итерацию копируешь посимвольно в mas из enterString (введенная строка)
C++
1
mas[i] = enterString[i]
и пишешь такое условие

C++
1
2
3
4
5
if(enterString[i] == 'а' && enterString[i+1] == ' ')
{
    mas[i] = '\0';
    // выводишь mas 
}
Счетчик на mas можешь другой ввести. И в цикле обнулять.

Так же учесть, что enterString[i+1] == ' ' может быть не только пробел, но и знак препинания!
1
easybudda
Модератор
Эксперт CЭксперт С++
9624 / 5572 / 946
Регистрация: 25.07.2009
Сообщений: 10,702
28.11.2011, 20:22 #5
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <stdio.h>
#include <string.h>
 
#define DELIM " \t\n"
#define LAST_LETTER 'a'
    
int main(void){
    char buf[BUFSIZ], *p;
    size_t cnt;
    
    while ( printf("\nString: ") && fgets(buf, BUFSIZ, stdin) && *buf != '\n' )
        for ( p = strtok(buf, DELIM), cnt = 0; p && ++cnt; p = strtok(NULL, DELIM) )
            if ( *(p + strlen(p) - 1) == LAST_LETTER )
                printf("%d\t%s\n", cnt, p);
    
    return 0;
}
1
kaist
Сообщений: n/a
28.11.2011, 21:04 #6
Спасибо большое!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.11.2011, 21:04
Привет! Вот еще темы с ответами:

Определить, есть ли в заданном тексте слова, заканчивающиеся на букву "К" - C++
Определить, есть ли в заданном тексте слова, заканчивающиеся на букву &quot;К&quot; (слова разделены пробелами): &quot;Дети пьют сок&quot;. Программа должна...

Определить, есть ли в тексте слова, начинающиеся и заканчивающиеся с буквы "А", и их количество - C++
Дан текст, состоящий не менее чем из пяти слов. Определить, есть ли в нем слова, начинающиеся и заканчивающиеся с буквы &quot;А&quot;, а также...

Найти в строке слово, начинающееся буквой "а" и оканчивающееся буквой "я" - C++
дана строка. найти какое-нибудь слово, начинающееся буквой а и оканчивающееся буквой я. если таких слов нет, то сообщить об этом ...

Дан текст, хранящийся в текстовом файле f, каждый символ которого может быть малой буквой, цифрой или одним из знаков "+", "-", "*". - C++
Дан текст, хранящийся в текстовом файле f, каждый символ которого может быть малой буквой, цифрой или одним из знаков &quot;+&quot;, &quot;-&quot;, &quot;*&quot;. Групой...


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

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

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