Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.83/29: Рейтинг темы: голосов - 29, средняя оценка - 4.83
This party getting crazy!
78 / 64 / 1
Регистрация: 22.09.2009
Сообщений: 427
1

Распечатать те слова, которые являются обращениями других слов в этом предложении

20.04.2010, 15:49. Показов 5956. Ответов 28
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
1. Ввести предложение, слова в котором разделены пробелами и запятыми. Распечатать те слова, которые являются обращениями других слов в этом предложении. Если нужных слов нет - сообщить об этом.


2. Ввести строку, состоящую только из цифр и букв. Распечатать те группы цифр, в которых цифра 7 встречается не более двух раз. (Группа цифр - это последовательность цифр, обрамленная буквами.)

Help!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.04.2010, 15:49
Ответы с готовыми решениями:

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

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

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

Напечатать все слова предложения, которые являются частью других слов предложения
Доброго времени суток! Суть вопроса в следующем: дан массив строк, в нём нужно найти слова, которые...

28
Эксперт С++
4727 / 2548 / 757
Регистрация: 18.08.2009
Сообщений: 4,568
20.04.2010, 16:13 2
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
#include <iostream>
#include <windows.h>
#include <string.h>
using namespace std;
 
int main ()
{
    int len, i, i_start, i_end, fl, temp; 
    char a[256];
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    cout<<"Ââåäèòå ñòðîêó: "<< endl;
    cin>>a;
    len=strlen(a);
    for(i=0; i<len; i++)
    {
        fl=0;
        if(a[i]>='0' && a[i]<='9')
            fl=1;
        if(fl)
        {
            i_start=i_end=i; temp=0;
            while(a[i_end]>='0' && a[i_end]<='9' && i_end<len)
            {
                i_end++;
                if(a[i_end]=='7')
                    temp++;
            }
            if(temp==1)
            {
                for(i=i_start; i<i_end; i++)
                    cout<<a[i];
            }
            i=i_end-1;
            cout<<endl;
        }
    }
    return 0; 
}
1
This party getting crazy!
78 / 64 / 1
Регистрация: 22.09.2009
Сообщений: 427
20.04.2010, 17:31  [ТС] 3
valeriikozlov, спасибо. А подскажите пожалуйста, как на Си сделать? я переделал вот так, но она не работает на выводе:
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
#include <stdio.h>
#include <string.h>
 
 
int main ()
{
    int len, i, i_start, i_end, fl, temp; 
        char a[256];
 
    printf("Enter the string: ");
    scanf("%s", &a);
        len=strlen(a);
        for(i=0; i<len; i++)
        {
                fl=0;
                if(a[i]>='0' && a[i]<='9')
                        fl=1;
                if(fl)
                {
                        i_start=i_end=i; temp=0;
                        while(a[i_end]>='0' && a[i_end]<='9' && i_end<len)
                        {
                                i_end++;
                                if(a[i_end]=='7')
                                        temp++;
                        }
                        if(temp==1)
                        {
                                for(i=i_start; i<i_end; i++)
                                        a[i]++;
                        }
                        i=i_end-1;
                        printf("%s", i);
                }
        }
    return 0; 
}
0
Эксперт С++
4727 / 2548 / 757
Регистрация: 18.08.2009
Сообщений: 4,568
20.04.2010, 19:42 4
Во-первых, плохо, что сразу не указываете язык (С или С++). В данном случае ориентировался на Ваш тезис "Лучше С++ чем ++С =)" .
Во вторых, не совсем точно перевели на С. Вот правильный вариант:
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
#include <stdio.h>
#include <string.h>
 
 
int main ()
{
    int len, i, i_start, i_end, fl, temp; 
        char a[256];
 
    printf("Enter the string: ");
    scanf("%s", &a);
        len=strlen(a);
        for(i=0; i<len; i++)
        {
                fl=0;
                if(a[i]>='0' && a[i]<='9')
                        fl=1;
                if(fl)
                {
                        i_start=i_end=i; temp=0;
                        while(a[i_end]>='0' && a[i_end]<='9' && i_end<len)
                        {
                                i_end++;
                                if(a[i_end]=='7')
                                        temp++;
                        }
                        if(temp==1)
                        {
                                for(i=i_start; i<i_end; i++)
                                        printf("%c", a[i]);
                        }
                        i=i_end-1;
                        printf("\n");
                }
        }
    return 0; 
}
1
This party getting crazy!
78 / 64 / 1
Регистрация: 22.09.2009
Сообщений: 427
20.04.2010, 20:51  [ТС] 5
Спасибо большое) понял ошибки. А как быть с первой? может кто-нибудь что-то подсказать?
0
Эксперт С++
4727 / 2548 / 757
Регистрация: 18.08.2009
Сообщений: 4,568
20.04.2010, 21:00 6
Цитата Сообщение от Bloodykeeper Посмотреть сообщение
А как быть с первой?
Можете сами что-нибудь подсказать по первой? Во-первых откуда вводится предложение?: с клавиатуры или из файла? Что является предложением?: окончание точкой или различными знаками (восклицательным, вопросительным)? И наконец, что является обращением? (могу поискать в инете, но думаю Вы и сами знаете ответ на этот вопрос).
0
This party getting crazy!
78 / 64 / 1
Регистрация: 22.09.2009
Сообщений: 427
21.04.2010, 21:56  [ТС] 7
По первой, то что я понял: предложение вводится с клавиатуры, Предложение- это есть набор букв, разделённых пробелами и запятыми, заканчиватся может как угодно, но в моём случае это точка. А обращение- это слово, которое заключено в запятые с обеих сторон, или с одной, если предложение в начале или в конце строки. Кажется так.

Добавлено через 15 часов 53 минуты
задача ещё не решена!( помогите пожалуйста.

Добавлено через 4 часа 23 минуты
помощь ещё требуется..(

Добавлено через 2 часа 16 минут
Всё ещё...
0
42 / 24 / 3
Регистрация: 16.03.2010
Сообщений: 199
21.04.2010, 22:12 8
что понимать под обращениями других слов?
0
This party getting crazy!
78 / 64 / 1
Регистрация: 22.09.2009
Сообщений: 427
21.04.2010, 22:17  [ТС] 9
Ну, я пример приведу: Мама, я вернулся!! Здесь обращение- слово мама. Или "Спасибо тебе, Иванушка-дурачёк, за всё." Иванушка-здесь обращение. Теперь понятно? Пожалуйста, помогите.
0
42 / 24 / 3
Регистрация: 16.03.2010
Сообщений: 199
21.04.2010, 22:19 10
аааа...обычное обращение в открытой речи... даже алгоритм в голову не приходит, как обрабатывать правила русского языка...
0
This party getting crazy!
78 / 64 / 1
Регистрация: 22.09.2009
Сообщений: 427
22.04.2010, 11:59  [ТС] 11
вот вот, и я о том же..

Добавлено через 13 часов 36 минут
Вопрос ещё актуален...всё ещё нужна помощь по первой задаче.
0
42 / 24 / 3
Регистрация: 16.03.2010
Сообщений: 199
22.04.2010, 14:38 12
обращение всегда запятыми выделяется и в большинстве случаев это имя собственное, то есть пишется с большой буквы, попробуй это условие использовать
0
This party getting crazy!
78 / 64 / 1
Регистрация: 22.09.2009
Сообщений: 427
22.04.2010, 23:06  [ТС] 13
Спасибо, а как функцию можно написать?

Добавлено через 5 часов 7 минут
помощь ещё нужна!
0
42 / 24 / 3
Регистрация: 16.03.2010
Сообщений: 199
23.04.2010, 09:50 14
может считывать вводимые слова в массив чар (включая знаки препинания, после них же пробел ставится по правилам) и посимвольно проверять наличие первой большой буквы и запятой после. единственное - одиночное деепричастие в начале предложения попадает под такое же условие, но другого варианта я не вижу, разве что не брать первое слово...
0
Эксперт С++
5055 / 3115 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
23.04.2010, 13:43 15
Да, тут действительно не получится проверять, если обращение стоит в начале предложения. Ибо по описанному выше алгоритму там будет найдено обращение всегда, а если проверять такую конструкцию: запятая-пробел-большая_буква-последовательность_букв-пробел-запятая, то наоборот, первое слово пропускается...
0
42 / 24 / 3
Регистрация: 16.03.2010
Сообщений: 199
23.04.2010, 15:57 16
не, тут одним условием не обойтись, поэтому не первое слово-обращение можно проверять как запятая_Слово_запятая_||_точка. тогда 100% что это обращение. а вот с первым словом не решить программно никак. это тоже ну..99,9%
0
This party getting crazy!
78 / 64 / 1
Регистрация: 22.09.2009
Сообщений: 427
23.04.2010, 16:35  [ТС] 17
так что мне делать? неужели алгоритма не существует?((
0
42 / 24 / 3
Регистрация: 16.03.2010
Сообщений: 199
23.04.2010, 16:38 18
нет, тут человеческое решение нужно
0
Эксперт С++
5055 / 3115 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
23.04.2010, 20:54 19
Не, алгоритм есть, и, думаю, он реализован в таких приложениях, как Word... OpenOffice и т.п. Так что вряд ли это дело программно решаемо, как и сказал delfamur
0
42 / 24 / 3
Регистрация: 16.03.2010
Сообщений: 199
23.04.2010, 20:57 20
может в том же ворде забита база всех собственных имен, которые могут являться обращениями)))можно конечно и в языке высокого уровня реализовать)))
0
23.04.2010, 20:57
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.04.2010, 20:57
Помогаю со студенческими работами здесь

Найти слова которые могут быть полностью сложены из других слов,сцепление слов(конкатенация)
найти слова которые могут быть полностью сложены из других слов,сцепление слов(конкатенация)

Строка: Распечатать из текста первые слова из предложений, которые содержат количество слов не больше заданного.
Распечатать из заданного текста первые слова только тех предложений, которые содержат количество...

Известно, что слова в предложении отделены пробелами. Сколько слов в предложении
Помогите пожалуйста сделать программу без использования глобальных переменных. program lab_7;...

В предложении S1 найдите все слова, которые есть в предложении S2.
9. В предложении S1 найдите все слова, которые есть в предложении S2. помогите пожалуйста.


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

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