Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.54/13: Рейтинг темы: голосов - 13, средняя оценка - 4.54
0 / 0 / 2
Регистрация: 26.11.2013
Сообщений: 28
1

Найти все слова, содержащие латинские буквы (a, e, i, o, u)

08.05.2014, 22:18. Показов 2345. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Задан текст. Найти все слова, содержащие латинские буквы (a, e, i, o, u). Напечатать эти слова в порядке увеличения количества букв (a, e, i, o, u).
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.05.2014, 22:18
Ответы с готовыми решениями:

Задан текст. Найти все слова, содержащие латинские буквы (a, e, i, o, u)
Помогите пожалуйста Задан текст. Найти все слова, содержащие латинские буквы (a, e, i, o, u)....

Строки (вывести все слова, содержащие только латинские буквы)
Здравствуйте, нужно вывести все слова, содержащие только латинские буквы. Задаётся...

В предложении найти и вывести на экран все слова, содержащие ровно две буквы “d”
Всем привет! Помогите написать программу! В предложении найти и вывести на экран все слова,...

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

2
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
08.05.2014, 23:49 2
Лучший ответ Сообщение было отмечено Yarikson86 как решение

Решение

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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
#include <iostream>
#include <cstring>
 
using namespace std;
 
int Print(char text[], int arr[][3], int current_print, int size)
{
    bool first_show = false;
    if(current_print == 0)
        return 0;
    for(int i=0; i < size;i++)
    {
        if( arr[i][2] == current_print)
        {
            if( first_show == false)
            {
                cout << endl << "Words with " << current_print << " letter's that you seach:" << endl;
                first_show = true;
            }
            for(int z=0;z<arr[i][0];z++)
            {
                cout << *(text+arr[i][1]+z);
            }
            cout << endl;
        }
    }
    return Print(text, arr, current_print-1, size);
}
void main()
{
    
    char text[] = "nyone who reads Old and Middle English literary texts will be familiar with the mid-brown volumes of the EETS, with the symbol of Alfred's jewel embossed on the front cover. Most of the works attributed to King Alfred or to Aelfric, along with some of those by bishop Wulfstan and much anonymous prose and verse from the pre-Conquest period, are to be found within the Society's three series; all of the surviving medieval drama, most of the Middle English romances, much religious and secular prose and verse including the English works of John Gower, Thomas Hoccleve and most of Caxton's prints all find their place in the publications. Without EETS editions, study of medieval English texts would hardly be possible.";
    int size = strlen(text);
 
    const int sssize = 500;
        int result[sssize][3] = {}; // 0 - word_Size, 1 - word_Start, 2 - counter
    int result_counter = 0;
 
    int max_counter_was = 0;
 
    int word_Start = 0;
    int word_Size = 0;
    int counter = 0;
    for(int i=0;i<size+1;i++)
    {
        switch( *(text+i) )
        {
            case '\0':
            case ' ': 
                if(counter > 0)
                {
                    if( counter > max_counter_was)
                        max_counter_was  = counter;
                    result[result_counter][0] = word_Size;
                    result[result_counter][1] = word_Start;
                    result[result_counter][2] = counter;
                    
                    result_counter++;
                }
                counter = 0; 
                word_Size = 0;
                word_Start = i+1; 
                break;
            case 'a':
            case 'e':
            case 'i':
            case 'o':
            case 'u': counter++; 
            default: word_Size++; break;
        }
    }
    Print(text, result, max_counter_was, sssize);   
}
0
Freelance
Эксперт С++
2891 / 1826 / 356
Регистрация: 09.09.2010
Сообщений: 3,841
09.05.2014, 00:49 3
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
30
31
32
33
34
#include <iostream>
#include <string>
#include <map>
#include <vector>
#include <algorithm>
#include <sstream>
#include <cctype>
#include <functional>
 
void split(std::vector<std::string> &vec, std::string str)
{
  std::replace_if(str.begin(), str.end(), std::ptr_fun(ispunct), ' ');
  std::istringstream ist(str);
  std::string tmp;
  while(ist >> tmp) vec.push_back(tmp);
}
 
int main()
{
  std::string some_text("afqw gsdgsd. qequwr boauufisdfiq. adas, lol;");
  std::vector<std::string> splited_text;
  split(splited_text, some_text);
  std::multimap<size_t, std::string> table;
  const std::string CHARS("aeiou");
  auto pred = [&](char val) ->bool {return CHARS.find(val) != std::string::npos;};
  for(auto &x : splited_text)
  {
    if(std::find_if(x.begin(), x.end(), pred) != x.end())
      table.insert(std::pair<size_t, std::string>(std::count_if(x.begin(), x.end(), pred), x));
  }
  std::for_each(table.begin(), table.end(), [](std::pair<size_t, std::string> val){
                std::cout << val.first << ' ' << val.second << '\n';});
    return 0;
}
0
09.05.2014, 00:49
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.05.2014, 00:49
Помогаю со студенческими работами здесь

Показать все слова содержащие буквы, принадлежащие определенному слову
Писать в С++. Существует строка, состоящая из слов, разделенных пробелами. Показать все слова в...

Напечатать все слова из текстового файла, содержащие буквы и цифры: ошибка
Привет! Мне дано следующее задание: Напечатать все слова из текстового файла, содержащие буквы и...

Упорядочить по алфавиту буквы каждого слова и удалить слова, содержащие одинаковые буквы
Преобразовать данное предложение, упорядочив по алфавиту буквы каждого слова и удалив слова,...

Найдите все слова в предложении, содержащие по две буквы М, не стоящие рядом, и определите их количество
Найдите все слова в предложении, содержащие по две буквы М, не стоящие рядом, и определите их...


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

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