Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
Blin4eg
0 / 0 / 0
Регистрация: 25.02.2011
Сообщений: 7
1

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

04.04.2011, 15:59. Просмотров 1238. Ответов 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);
}
} /*конец*/
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.04.2011, 15:59
Ответы с готовыми решениями:

Напечатать симметричные слова из строки
Доброго времени суток. Имеется такая задача: &quot;Дана последовательность слов....

Напечатать слова, которые отличны от последнего слова текста, предварительно удалив из слова последнюю букву
Дана последовательность содержащая от 1 до 30 слов, в каждом из которых от 1 до...

Задан текст, напечатать слова этого текста отличные от последнего слова
Задан текст.напечатать слова этого текста отличные от последнего слова удалить...

Функции, обработка текста: Задан текст; напечатать слова, отличные от последнего слова
Здравствуйте, нужна программа работающая через функции. Условие: Задан текст....

Напечатать все слова текста, в которых первая буква слова входит в него еще раз
Дана последовательность слов, разделенных запятыми, в конце точка. Напечатать...

4
easybudda
Модератор
Эксперт CЭксперт С++
10147 / 6054 / 1521
Регистрация: 25.07.2009
Сообщений: 11,476
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;
}
3
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, напишите пожайлуйста пару комментариев к коду.
0
easybudda
Модератор
Эксперт CЭксперт С++
10147 / 6054 / 1521
Регистрация: 25.07.2009
Сообщений: 11,476
04.06.2013, 23:14 4
Цитата Сообщение от grivus132 Посмотреть сообщение
пару комментариев к коду
Скажите, что не понятно - могу и поподробнее...
0
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;
}
0
05.06.2013, 00:03
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.06.2013, 00:03

Напечатать все слова из текста, отличные от слова hello.
Добрый день товарищи!!!Выручайте!)Зачет по программированию завтра сдавать,а я...

Напечатать повторяющиеся слова из текста
Дан текст, нужно вывести на печать повторяющиеся слова. Уже несколько дней...

Напечатать слова текста в алфавитном порядке
3. Задан текст. Слова разделены пробелом. Напечатать слова этого текста в...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

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