1. Набираем команду codeby webinar. Набираем команду для организации и проведения вебинаров. Подробнее ...

    Скрыть объявление
  2. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление
  3. Получи 30.000 рублей. Для получения денег необходимо принять участие в конкурсе авторов codeby. С условиями и призами можно ознакомиться на этой странице ...

    Внимание! Регистрация авторов на конкурс закрыта.

    Скрыть объявление

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

Тема в разделе "Вопросы новичков и не только", создана пользователем Ilias, 9 дек 2010.

  1. Ilias

    Ilias Гость

    Репутация:
    0
    Помогите, пожалуйста, с задачей! Во введенном слове подсчитать количество различных пар букв. Например, в слове babacabacd 5 различных пар букв, ba – 3 пары, ac – 2 пары.
    Borland C++ builder 6.
     
  2. Miller85

    Miller85 Гость

    Репутация:
    0
    Проверяй
    Код:
    #include <iostream>
    #include <stdio.h>
    #include <conio.h>
    #include <stdlib.h>
    #include <string.h>
    using namespace std;
    int main()
    {
    char str[100], pair[3] = {'\0'};
    int i, j, len, count=0, equal_flag;
    char **arr;
    setlocale(LC_ALL,"Russian");
    printf<<"Введите слово: ";
    scanf("%s", str);
    len = strlen(str);
    
    arr = new char*[len-1];
    for(i = 0; i < len-1; ++i)
    {
    pair[0] = str[i];
    pair[1] = str[i+1];
    
    equal_flag = 0;
    for(j = 0; j < count; ++j)
    if(!strcmp(pair, arr[j]))
    {
    equal_flag = 1;
    break;
    }
    
    if(equal_flag == 0)
    {
    arr[count++] = new char[3];
    strcpy(arr[count-1], pair);
    }
    
    }
    
    printf("\nКоличество пар в слове = %d\n\n", count);
    
    for(j = 0; j < count; ++j)
    delete[] arr[j];
    
    delete[] arr;
    return(0);
    
    
    }
    Задача: Подсчет кол-ва различных пар букв в строке
     
  3. Ilias

    Ilias Гость

    Репутация:
    0
    Вроде всё правильно.Спасибо!
     
  4. lazybiz

    lazybiz Well-Known Member

    Репутация:
    0
    Регистрация:
    3 ноя 2010
    Сообщения:
    1.339
    Симпатии:
    0
    Miller85
    Ты пива что ль перепил)))

    Ну это как минимум не разумно:
    Код:
    	...
    cout<<"Введите слово: ";
    scanf("%s", str);
    ...
    Определись, либо С, либо С++ ))

    Вот это вообще выше моего разума))
    Код:
    arr = new char*[len-1];
    потом (можно сказать сразу)
    Код:
     if(!strcmp(pair, arr[j]))
    Я не хочу наезжать и докапываться, но мне просто интересно это КАК !?? О_о)))
     
  5. Miller85

    Miller85 Гость

    Репутация:
    0
    Сори...;=)) Просто паралельно пил пиво, вот и занесло не туда;=)) Начальные знания со школы всплыли...

    Код:
    #include <map>
    #include <string>
    #include <iostream>
    #include <conio.h>
    using namespace std;
    int main()
    {
    char str[100];
    setlocale(LC_ALL,"Russian");
    cout<<"Введите слово: ";
    std::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]++;
    } 
    
    std::cout<<"Пар в слове: "<<str<<"-"<<pairs.size() << std::endl;
    getch();
    return 0;
    }
    Бывает чо:=))
     
  6. DarkKnight

    DarkKnight Well-Known Member

    Репутация:
    0
    Регистрация:
    1 авг 2010
    Сообщения:
    653
    Симпатии:
    0
    2 Miller85 : Так что с этой темой??? Она актуальная ? ;-)
     
  7. Miller85

    Miller85 Гость

    Репутация:
    0
    Нет... Вроде бы всё...
     
Загрузка...

Поделиться этой страницей