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

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

Войти
Регистрация
Восстановить пароль
 
hellolesto
0 / 0 / 0
Регистрация: 28.11.2012
Сообщений: 10
#1

Строки (вывести все слова, содержащие только латинские буквы) - C++

11.12.2012, 01:31. Просмотров 1034. Ответов 4
Метки нет (Все метки)

Здравствуйте, нужно вывести все слова, содержащие только латинские буквы. Задаётся последовательность, в которой слова разделены запятыми, оканчивается она точкой. В написанном из слова "abcД" выведется "abc", а не должно вообще ничего выводиться. Не знаю, как это реализовать. Заранее огромное спасибо.
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
#include "stdafx.h"
#include "conio.h"
#include "iostream"
#include "MyCrt.h"
using namespace std;
int main()
{
    //Задаем массив, ввод заканчивается символом ".";
    setlocale(0,"");
    TextColor(0x1f);
    int s=0;
    char posl[181];
    cout<<"Введите последовательность.\n";
    for(int i=0;i<181;i++)
    {
        cin>>posl[i];
        s++;
        if (posl[i]=='.')
            break;
    }
    //Выводим массив;
    cout<<"Полученная последовательность:";
    for(int i=0;i<s;i++)
    {
        cout<<posl[i];
    }
    cout<<endl;
    //Вывод слов из латинских букв.
    cout<<"Слова из латинских букв:\n";
    for(int i=0;i<s;i++)
    {
        if ((posl[i]>='a')&&(posl[i]<='z'))
        {
            cout<<posl[i];
            if(posl[i+1]==',')
                cout<<",";
        }
 
    }
    cout<<endl;
    system("pause");
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.12.2012, 01:31
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Строки (вывести все слова, содержащие только латинские буквы) (C++):

Найти все слова, содержащие латинские буквы (a, e, i, o, u) - C++
Задан текст. Найти все слова, содержащие латинские буквы (a, e, i, o, u). Напечатать эти слова в порядке увеличения количества букв (a, e,...

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

Вывести только те слова, все буквы которых различны - C++
Помогите сделать надо чтобы вводились слова и выводились только те в которых все буквы разные

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

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

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

4
Otshelnik
0 / 0 / 0
Регистрация: 10.10.2012
Сообщений: 8
11.12.2012, 02:15 #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
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
#include "stdafx.h"
#include "conio.h"
#include "iostream"
//#include "MyCrt.h"
using namespace std;
int main()
{
    //Задаем массив, ввод заканчивается символом ".";
    setlocale(0,"");
   // TextColor(0x1f);
    int s=0;
    char posl[181];
    cout<<"Введите последовательность.\n";
    for(int i=0;i<181;i++)
    {
        cin>>posl[i];
        s++;
        if (posl[i]=='.')
            break;
    }
    //Выводим массив;
    cout<<"Полученная последовательность:";
    for(int i=0;i<s;i++)
    {
        cout<<posl[i];
    }
    cout<<endl;
    //Вывод слов из латинских букв.
    cout<<"Слова из латинских букв:\n";
    int j = 0;
    bool IsRus = false;
 
    for(int i=j;i<s;i++)
    {
        j = i;
        while((posl[j] != ',' && posl[j] != ' ' && posl[j] != '.') && j < s)
        {
            if ((posl[i]!='a')&&(posl[i]!='b')&&(posl[i]!='c')&&(posl[i]!='d')&&(posl[i]!='e')&&
                (posl[i]!='f')&&(posl[i]!='g')&&(posl[i]!='h')&&(posl[i]!='i')&&(posl[i]!='j')&&
                (posl[i]!='k')&&(posl[i]!='l')&&(posl[i]!='m')&&(posl[i]!='n')&&(posl[i]!='o')&&
                (posl[i]!='p')&&(posl[i]!='r')&&(posl[i]!='s')&&(posl[i]!='t')&&(posl[i]!='u')&&
                (posl[i]!='v')&&(posl[i]!='w')&&(posl[i]!='x')&&(posl[i]!='y')&&(posl[i]<='z'))
                IsRus = true;
            j++;
        }
        if(IsRus)
        {
            i = j;
            IsRus = false;
            cout<<posl[i];
            if(posl[i+1]==',')
                cout<<",";
        }
        else    
        {
            for(; i < j; i ++)
            {
                if ((posl[i]>='a')&&(posl[i]<='z'))
                {
                    cout<<posl[i];
                    if(posl[i+1]==',')
                        cout<<",";
                }
            }
        }
    }
    cout<<endl;
    system("pause");
    return 0;
}
0
hellolesto
0 / 0 / 0
Регистрация: 28.11.2012
Сообщений: 10
11.12.2012, 02:39  [ТС] #3
Спасибо!
Сейчас гляну и буду пробовать дальше.
0
0x10
2465 / 1637 / 239
Регистрация: 24.11.2012
Сообщений: 4,037
11.12.2012, 07:27 #4
Otshelnik, за условие в строках 38-42 надо руки отрывать.
1
hellolesto
0 / 0 / 0
Регистрация: 28.11.2012
Сообщений: 10
11.12.2012, 23:42  [ТС] #5
Цитата Сообщение от 0x10 Посмотреть сообщение
Otshelnik, за условие в строках 38-42 надо руки отрывать.
Как можно оформить его лучше?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.12.2012, 23:42
Привет! Вот еще темы с ответами:

Вывести все слова, начинающиеся с большой буквы, из заданной строки - C++
С клавиатуры вводится строка S. Она содержит различные символы и пробелы. Части строки, разделенные пробелами, называются словами. ...

Вывести на экран слова, содержащие 3 буквы. - C++
Дана вот такая задачка на Си: Дана символьная строка, содержащая текст, заканчивающийся точкой. Вывести на экран слова, содержащие 3...

Вывести на экран слова, содержащие три буквы. - C++
Дана строка, содержащая текст, заканчивающийся точкой. Вывести на экран слова, содержащие три буквы.

Вывести на экран слова, содержащие три буквы - C++
Дана строка, содержащая текст, заканчивающаяся точкой. Вывести на экран слова, содержащие три буквы. Задача на строки.


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

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

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