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

Найти в тексте слова, в которых присутствуют только заглавные латинские буквы - C++

Восстановить пароль Регистрация
 
tru2
1 / 1 / 0
Регистрация: 28.01.2014
Сообщений: 101
29.01.2014, 02:27     Найти в тексте слова, в которых присутствуют только заглавные латинские буквы #1
Вводится тест из заглавных и строчных латинских букв, пробелов. Количество символов в тексте не должно превышать 200. Слова разделяются пробелами. Определить и вывести:
- слова, в которых присутствуют только заглавные латинские буквы.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.01.2014, 02:27     Найти в тексте слова, в которых присутствуют только заглавные латинские буквы
Посмотрите здесь:

C++ Для заданного достаточно длинного слова найти в имеющемся тексте все слова, в которых использованы только буквы, имеющиеся в заданном слове
C++ Строки (вывести все слова, содержащие только латинские буквы)
Найти в тексте все слова, буквы в которых упорядочены по алфавиту. C++
В текстовом файле t записаны буквы латинского алфавита и цифры. Занести в текстовый файл h из текстового файла t только латинские буквы. C++
Работа со строкой (удалить все цифры, подсчитать количество и сумму удаленных цифр, заменить все заглавные латинские буквы на строчные) C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Fene4ka_
84 / 84 / 16
Регистрация: 24.01.2014
Сообщений: 1,142
29.01.2014, 03:16     Найти в тексте слова, в которых присутствуют только заглавные латинские буквы #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
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
#include "stdafx.h"
#include <iostream>
#include <vector>
#include <string>
using namespace std;
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    vector<string> list_words;
    char* buf;
    char count[200];
    cout << "Write text : ";
    cin.getline(count, 200);
    buf = strtok(count, " ,.!?");
    while (buf)
    {
        list_words.push_back(buf);
        buf = strtok(NULL, " ,.!?");
    }
    bool flag = false;
    for (int i = 0; i < list_words.size(); i++)
    {
        flag = false;
        for (int j = 0; j < list_words[i].length(); j++)
            for (int z = 0; z < 25; z++)
            if (list_words[i][j] == char(z + 97))
                flag = true;
            if (flag == false)
                cout << list_words[i] << " ";
    }
    cout << endl;
    system("pause");
    return 0;
}
правда цифры не учел, может быть сейчас исправлю ...

Добавлено через 7 минут
строка 27 исправьте
C++
1
if (list_words[i][j] == char(z + 97) || list_words[i][j] == char(z + 33))
wl9pa2
2 / 2 / 1
Регистрация: 06.08.2013
Сообщений: 9
29.01.2014, 04:13     Найти в тексте слова, в которых присутствуют только заглавные латинские буквы #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
#include <iostream>
#include <string>
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    bool ind;
    int i, count = 0;
    char* pch;
    char str[200];
    string word;
    cout << "Input text: ";
    cin.getline (str, 200);
    pch = strtok (str, " ,.!?");
    while (pch)
    {
        word = pch;
        ind = true;
        for (i = 0 ; i < word.length() ; i++)
            if (word[i] != toupper(word[i]))
            {
                ind = false;
                break;
            }
        if (ind)
            count++;
        pch = strtok (NULL, " ,.!?");
    }
    cout << "There are " << count << " word(s) with capital letters only in this text!\n";
    return 0;
}
Fene4ka_
84 / 84 / 16
Регистрация: 24.01.2014
Сообщений: 1,142
29.01.2014, 04:51     Найти в тексте слова, в которых присутствуют только заглавные латинские буквы #4
расскажите, пожалуйста, про
C++
1
 if (word[i] != toupper(word[i]))
Alkenso
5 / 4 / 4
Регистрация: 30.01.2014
Сообщений: 27
30.01.2014, 02:19     Найти в тексте слова, в которых присутствуют только заглавные латинские буквы #5
Цитата Сообщение от Fene4ka_ Посмотреть сообщение
расскажите, пожалуйста, про
C++
1
 if (word[i] != toupper(word[i]))
функция int toupper (int c);
возвращает верхнерегистровый эквивалент аргумента c если такой существует.
т.е. 'A' == toupper ('a'), а также 'A' == toupper ('A')

есть анаогичная функция tolower() - приведение к нижнему регистру
Yandex
Объявления
30.01.2014, 02:19     Найти в тексте слова, в которых присутствуют только заглавные латинские буквы
Ответ Создать тему
Опции темы

Текущее время: 23:07. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru