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

Определить, сколько разных символов содержит строка - C++

Восстановить пароль Регистрация
 
wolf0022
2 / 2 / 0
Регистрация: 17.12.2013
Сообщений: 148
08.09.2014, 12:54     Определить, сколько разных символов содержит строка #1
Задана символьная строка, определить сколько разных символов она содержит.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
//---------------------------------------------------------------------------
 
#include <vcl.h>
#pragma hdrstop
#pragma argsused
#include <iostream>
#include <cstdlib>
#include <cstring>
using namespace std;
 
int main(int argc, char* argv[])
{
    char string[10] = "simvoli - "; // объявление и инициализация строки
    cout << "vvedite simvoli: ";
    char in_string[500]; // строковый массив для ввода
    gets(in_string); // функция gets() считывает все введённые символы с пробелами до тех пор, пока не будет нажата клавиша Enter
    cout << string << in_string << endl; // вывод строкового значения
    тут должен быть цикл
    cin.get();
    return 0;
 
}
//---------------------------------------------------------------------------
помогите плиз с циклом)

Добавлено через 17 минут
ну епт код же почти готов) помогите ааа
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.09.2014, 12:54     Определить, сколько разных символов содержит строка
Посмотрите здесь:

Дана строка текста.Определить сколько в ней символов больше . а или о C++
C++ Определить, сколько цифр содержит число
Определить, содержит ли строка различные группы символов C++
C++ Дана строка символов, пользователь вводит комбинацию символов проверить сколько раз встечается эта комбинация в строке.
C++ определить, сколько символов ‘e’ предшествует первому вхождению символа ‘u’ ( либо сколько всего символов ‘e’ в этой последовательности)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Тамика
Котовчанин
 Аватар для Тамика
859 / 439 / 129
Регистрация: 16.02.2010
Сообщений: 2,538
Записей в блоге: 27
08.09.2014, 13:00     Определить, сколько разных символов содержит строка #2
std::map в помощь.

Добавлено через 45 секунд
з.ы. код ни черта не готов.
zss
Модератор
Эксперт С++
 Аватар для zss
5951 / 5556 / 1787
Регистрация: 18.12.2011
Сообщений: 14,200
Завершенные тесты: 1
08.09.2014, 13:41     Определить, сколько разных символов содержит строка #3
Самый простой способ - завести массив целых чисел размером с кодовую таблицу (256)
обнулить и потом для каждого символа увеличивать на 1 элемент массива, номер которого равен коду символа.

Если не справитесь, то такая тема уже была в этом разделе - поищите.
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4237 / 2770 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
08.09.2014, 13:57     Определить, сколько разных символов содержит строка #4
Цитата Сообщение от wolf0022 Посмотреть сообщение
определить сколько разных символов она содержит.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <string>
#include <set>
 
int main ()
{
    std::cout << "Enter string: ";
    std::string str;
    getline(std::cin, str);
    
    std::cout << "Your string contains " << std::set<char>(str.begin(), str.end()).size() << " unique characters" << std::endl;
    
    return 0;
}
за символ считается любой символ (в т.ч. пробел)

also
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <string>
#include <algorithm>  
 
int main ()
{
    std::cout << "Enter string: ";
    std::string str;
    getline(std::cin, str);
    
    std::sort(str.begin(), str.end());
    std::string::iterator begin = str.begin();
    std::string::iterator end = std::unique(str.begin(), str.end());
    std::cout << "Your string contains " << std::distance(begin, end) << " unique characters" << std::endl;
    
    return 0;
}
mss307
118 / 118 / 25
Регистрация: 14.12.2013
Сообщений: 352
08.09.2014, 16:04     Определить, сколько разных символов содержит строка #5
Сообщение было отмечено автором темы, экспертом или модератором как ответ
а если без stl, то примерно так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
    
    std::cout << "Enter string...\n";
    std::string  str;
    getline(std::cin, str);
    
    if (!str.empty())
    {
        int     mas[256] = {0};
        int     count = 0;
        int     strsize = str.size();
        
        for (int i = 0; i < strsize; ++i)
        {
            if (!mas[str[i]])
                ++count;
            mas[str[i]] += 1;
        }
        
        std::cout << count << std::endl;
    }
Yandex
Объявления
08.09.2014, 16:04     Определить, сколько разных символов содержит строка
Ответ Создать тему
Опции темы

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