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

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

Восстановить пароль Регистрация
 
straparola
-95 / 1 / 0
Регистрация: 25.03.2010
Сообщений: 107
12.11.2011, 21:33     Подсчитать количество различных пар букв #1
Помогите решить задачу, вернее переделать)))
Во введенном слове подсчитать количество различных пар букв. ( например, в слове вавасавасd –5 различных пар букв).

Нашёл на форумах такую же на С++, а нужно на Си.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <map>
{
    char str[100];
    cout<<RUS("Введите слово: ");
    cin.getline(str, 100);
    std::map<std::string, int> pairs;
    for(int i=0, len=strlen(str); i<len-1; i++)
    {
        std::string a="";
        a += str[i];
        a += str[i+1];
        pairs[a]++;
    }
    cout<<RUS("Различных пар букв в слове: ")<<str<<"-"<<pairs.size() << std::endl;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.11.2011, 21:33     Подсчитать количество различных пар букв
Посмотрите здесь:

C++ Во введенном слове подсчитать количество различных пар букв
C++ Подсчитать количество букв "А" в предложении и общее количество букв. В тексте несколько строк.
Подсчитать количество пар букв C++
C++ Подсчитать количество пар
Строки. Подсчитать количество заглавных букв в тексте; вывести на экран слова, имеющие наименьшее количество букв... (подправить) C++
C++ Вводится предложение. Подсчитать количество слов и подсчитать количество букв в самом длинном слове
C++ Найти количество различных пар между числами по признаку
C++ Подсчитать количество пар массива, не учитывая повторы

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alkagolik
 Аватар для alkagolik
1510 / 616 / 79
Регистрация: 15.07.2011
Сообщений: 3,552
13.11.2011, 01:40     Подсчитать количество различных пар букв #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
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
int main()
{
    char *str = "lkjkjkjhdfier";
    int i = 0, j = 0, flag;
    short buf, *arr_doublch, siz = 1;
 
    arr_doublch = malloc(sizeof(short));
    if ( !arr_doublch )
        exit ( -1 );
    arr_doublch[ 0 ] = 0;
    arr_doublch[ 0 ] = (arr_doublch[ 0 ] | str[ 0 ]) << 8;
    arr_doublch[ 0 ] |= str[ 1 ];
 
    for (i = 0; i < strlen(str) - 1; ++i)
    {
        buf = 0; flag = 1;
        buf = (buf | str[ i ]) << 8;
        buf |= str[ i + 1];
 
        for (j = 0; j < siz; ++j)
            if ( !( buf ^ arr_doublch[ j ] ) )
                flag = 0;
        if (flag)
        {
            ++siz;
            arr_doublch = realloc(arr_doublch, siz * sizeof(short));
            arr_doublch[ siz - 1 ] = buf;
        }
    }
    for (i = 0; i < siz; ++i)
        printf("%c%c\n", arr_doublch[ i ] >> 8, arr_doublch[ i ]);
    free(arr_doublch);
    return 0;
}
straparola
-95 / 1 / 0
Регистрация: 25.03.2010
Сообщений: 107
13.11.2011, 09:46  [ТС]     Подсчитать количество различных пар букв #3
А нельзя ли как-нибудь переделать алгоритм из С++? Там задача решена буквально в 7 строчек, может можно тоже самое на Си сделать.
Yandex
Объявления
13.11.2011, 09:46     Подсчитать количество различных пар букв
Ответ Создать тему
Опции темы

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