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

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

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

Напечатать симметричные слова из текста - C++

04.04.2011, 15:59. Просмотров 1017. Ответов 4
Метки нет (Все метки)

Необходимо напечатать симметричные слова из текста.
мой код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <stdio.h>
void main()
{
char S;
char A[80]; /*массив для слова*/
int i, k; /*к-длина слова*/
printf ("напишите предложение с точкой в конце: \n");
for (i=0;S=' '; k=0; i<=79; i++)
{
S=getchar();
if (S==' ') continue;
if (S=='.') break;
... /*не знаю, как найти симметричные слова =(*/
}
if (i==80||k==0)
printf ("неверное предложение \n");
else
{
A[k]='\0'; /*конец строки*/
printf ("последнее слово: %S", A);
}
} /*конец*/
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.04.2011, 15:59     Напечатать симметричные слова из текста
Посмотрите здесь:

C++ Напечатать симметричные слова из строки
Напечатать все слова из текста, отличные от слова hello. C++
C++ Напечатать повторяющиеся слова из текста
Напечатать слова текста в алфавитном порядке C++
Выбрать из заданного текста слова заданной длины и напечатать их по одному на каждой строке C++
C++ Напечатать в столбик первые слова всех предложений текста
Задан текст, напечатать слова этого текста отличные от последнего слова C++
C++ Найти слова, отличающиеся от последнего слова, и одновременно симметричные
C++ Напечатать слова, которые отличны от последнего слова текста, предварительно удалив из слова последнюю букву
Дан текст. Напечатать все слова текста C++
C++ Определить и напечатать слова минимальной длины из текста
Напечатать слова, которые состоят из первых и последних букв (но не цифр) всех слов текста C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
easybudda
Эксперт С++
 Аватар для easybudda
9412 / 5435 / 917
Регистрация: 25.07.2009
Сообщений: 10,428
04.04.2011, 16:08     Напечатать симметричные слова из текста #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
#include <stdio.h>
#include <string.h>
 
int test(const char * word){
    const char * head, * tail;
 
    for ( head = word, tail = word + strlen(word) - 1; head < tail; ++head, --tail )
        if ( *head != *tail )
            break;
    return *head - *tail;
}
 
#define DELIM " ,.!?;:\t\n"
 
int main(void){
    char buf[BUFSIZ], * p;
 
    while ( printf("\nString: ") && fgets(buf, BUFSIZ, stdin) && *buf != '\n' )
        for ( p = strtok(buf, DELIM); p; p = strtok(NULL, DELIM) )
            if ( ! test(p) )
                printf("%s\n", p);
 
    return 0;
}
grivus132
0 / 0 / 0
Регистрация: 21.04.2013
Сообщений: 5
04.06.2013, 21:45     Напечатать симметричные слова из текста #3
Цитата Сообщение от easybudda Посмотреть сообщение
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
#include <stdio.h>
#include <string.h>
 
int test(const char * word){
    const char * head, * tail;
 
    for ( head = word, tail = word + strlen(word) - 1; head < tail; ++head, --tail )
        if ( *head != *tail )
            break;
    return *head - *tail;
}
 
#define DELIM " ,.!?;:\t\n"
 
int main(void){
    char buf[BUFSIZ], * p;
 
    while ( printf("\nString: ") && fgets(buf, BUFSIZ, stdin) && *buf != '\n' )
        for ( p = strtok(buf, DELIM); p; p = strtok(NULL, DELIM) )
            if ( ! test(p) )
                printf("%s\n", p);
 
    return 0;
}
уважаемый easybudda, напишите пожайлуйста пару комментариев к коду.
easybudda
Эксперт С++
 Аватар для easybudda
9412 / 5435 / 917
Регистрация: 25.07.2009
Сообщений: 10,428
04.06.2013, 23:14     Напечатать симметричные слова из текста #4
Цитата Сообщение от grivus132 Посмотреть сообщение
пару комментариев к коду
Скажите, что не понятно - могу и поподробнее...
grivus132
0 / 0 / 0
Регистрация: 21.04.2013
Сообщений: 5
05.06.2013, 00:03     Напечатать симметричные слова из текста #5
Цитата Сообщение от easybudda Посмотреть сообщение
Скажите, что не понятно - могу и поподробнее...
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
#include <stdio.h>
#include <string.h>
 
int test(const char * word){
    const char * head, * tail;
 
    for ( head = word, tail = word + strlen(word) - 1; head < tail; ++head, --tail ) 
        if ( *head != *tail )
            break;
    return *head - *tail;
}
 
#define DELIM " ,.!?;:\t\n"
 
int main(void){
    char buf[BUFSIZ], * p;
 
    while ( printf("\nString: ") && fgets(buf, BUFSIZ, stdin) && *buf != '\n' ) // ??
        for ( p = strtok(buf, DELIM); p; p = strtok(NULL, DELIM) ) // ??
            if ( ! test(p) )
                printf("%s\n", p);
 
    return 0;
}
Yandex
Объявления
05.06.2013, 00:03     Напечатать симметричные слова из текста
Ответ Создать тему
Опции темы

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