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

Написать функцию, находящую в строке символов симметричное слово. - C++

Восстановить пароль Регистрация
 
Temoffey
 Аватар для Temoffey
20 / 40 / 0
Регистрация: 21.11.2010
Сообщений: 96
21.11.2010, 21:58     Написать функцию, находящую в строке символов симметричное слово. #1
Возможно ли создание программы:
Написать функцию, находящую в строке символов симметричное слово.
Заранее спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.11.2010, 21:58     Написать функцию, находящую в строке символов симметричное слово.
Посмотрите здесь:

Написать и протестировать функцию для замены символов “:” на “.” в заданной строке C++
C++ Написать функцию, находящую в строке символов симметричное слово.
C++ Написать программу в которой описать функцию, которая находит кол-во символов в n-ой строке непустого текстового файла.
C++ Написать функцию замены всех русских символов в строке пробелами
C++ В строке найти самое длинное симметричное слово
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
22.11.2010, 03:25     Написать функцию, находящую в строке символов симметричное слово. #2
Возможно.
Temoffey
 Аватар для Temoffey
20 / 40 / 0
Регистрация: 21.11.2010
Сообщений: 96
22.11.2010, 12:16  [ТС]     Написать функцию, находящую в строке символов симметричное слово. #3
Н так а как она будет выглядеть???
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
22.11.2010, 12:21     Написать функцию, находящую в строке символов симметричное слово. #4
Смотря кто будет писать. Если хороший программист - то кратко и понятно, если плохой - то запутанно и даже у далёкого от программирования человека будет вызывать отвращение.

Не по теме:

А если отбросить флуд и говорить по теме - то вы бы хоть что-то сами попытались сделать, помимо требования немедленного ответа на вопрос "Н так а как она будет выглядеть???", после которого уже хочется закрыть браузер и больше в эту тему не заходить.

МаксимМВ
C/C++
90 / 90 / 5
Регистрация: 01.07.2010
Сообщений: 281
22.11.2010, 14:29     Написать функцию, находящую в строке символов симметричное слово. #5
Вот прога:
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
#include <stdio.h>
#include <stdlib.h>
 
#define TRUE 1
#define FALSE 0
 
char* findSimmSl(char *sl)
{
    int ln=0, num_letters;
    while (sl[ln]!='\0')
    {
        num_letters=0;
        while (sl[ln]!=' '&&sl[ln]!='\b'&&sl[ln]!='\0')
        {
            num_letters++;
            ln++;
        }
        ln-=num_letters;
        char *stack=malloc(num_letters/2*sizeof(char));
 
        int i=0;
        for (;i<num_letters/2;ln++,i++)
            stack[i]=sl[ln];
        if (num_letters%2==1)
            ln++;
        int found=TRUE;
        for (i--;i>=0;i--,ln++)
            if (sl[ln]!=stack[i])
                found=FALSE;
        if (found)
        {
            ln-=num_letters;
            char* okstr=malloc((num_letters+1)*sizeof(char));
            for (i=0;i<num_letters;i++,ln++)
                okstr[i]=sl[ln];
            okstr[i]='\0';
            free(stack);
            return okstr;
        }
        free(stack);
        ln++;
    }
    return "";
}
 
int main(int argc, char *argv[])
{
    char str[1024];
    gets(str);
    char* slov=findSimmSl(str);
    printf("%s\n",slov);
    if (*slov!='\0') free(slov);
    return 0;
}
Только если строка, возвращённая функцией не пуста, надо освобождать память (я не знаю как сначала вернуть значение, а потом освободить память в функции). Моя первая программа c malloc и free. Защита от переполнения буффера есть. Ищет только английские слова! Это в Линуксе. Не знаю как в винде. Откомпилировал и отладил.
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
22.11.2010, 15:02     Написать функцию, находящую в строке символов симметричное слово. #6
Цитата Сообщение от Temoffey Посмотреть сообщение
в строке символов симметричное слово
Если слова в строке чем-нибудь разделены (пробелами например), то вот
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 <stdio.h>
#include <stdlib.h>
#include <string.h>
 
int test(char * buf, int size){
    char * head, * tail;
    
    for ( head = buf, tail = buf + size - 1; head < tail; ++head, --tail )
        if ( *head != *tail )
            return 0;
    
    return 1;
}
 
#define DELIM " \t\n,.:;!?"
 
int main(void){
    char buf[BUFSIZ], * p;
    
    printf("String: ");
    if ( ! fgets(buf, BUFSIZ, stdin) ){
        perror("fgets");
        exit(1);
    }
    
    for ( p = strtok(buf, DELIM); p; p = strtok(NULL, DELIM) )
        if ( test(p, strlen(p)) )
            printf("%s\n", p);
    
    exit(0);
}
если же нужно найти в потоке байтов симметричный фрагмент, немного замороченнее, но эта же функция test() вполне пригодится...
Temoffey
 Аватар для Temoffey
20 / 40 / 0
Регистрация: 21.11.2010
Сообщений: 96
18.03.2011, 16:34  [ТС]     Написать функцию, находящую в строке символов симметричное слово. #7
Возможна ли функция без использования Strtok, strlen, и т.д.???
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
18.03.2011, 16:37     Написать функцию, находящую в строке символов симметричное слово. #8
Написать собственные strtok, strlen...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.03.2011, 12:55     Написать функцию, находящую в строке символов симметричное слово.
Еще ссылки по теме:

Написать функцию, находящую в заданной строке количество подстрок, состоящих из цифр C++
Написать функцию, находящую в строке двузначное число (возвращает true или false) C++
Написать функцию для определения количества цифровых символов в заданной текстовой строке C++

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

Или воспользуйтесь поиском по форуму:
Temoffey
 Аватар для Temoffey
20 / 40 / 0
Регистрация: 21.11.2010
Сообщений: 96
20.03.2011, 12:55  [ТС]     Написать функцию, находящую в строке символов симметричное слово. #9
Вот в том то и вопрос нужна собственная strtok...
А как она должна работать и с чего начать???
Yandex
Объявления
20.03.2011, 12:55     Написать функцию, находящую в строке символов симметричное слово.
Ответ Создать тему
Опции темы

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