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

Подсчитать, сколько различных символов встречается в строке - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Характеристика матрици! http://www.cyberforum.ru/cpp-beginners/thread211243.html
Дана прямоугольная матрица, найти количество столбцов которые не содержат ни одного нуля. Характеристика строки матрици является сумма ее парных положительных елементов.Переставляя строки матрици,...
C++ Декларация структур У меня задание - сделать БД чтобы каждое значение весило по 256 байт и сохранялось в файл по опред структуре. Файл вроде уже заисывает, опробовал на простых примерах, но вот универсальную структуру... http://www.cyberforum.ru/cpp-beginners/thread211239.html
C++ Прямой доступ к видеопамяти
Суть задачи состоит в том, что бы вывести строки/числа быстрее, с помощью прямого доступа к видеопамяти. Интересна сама процедура получения прямого доступа к видеопамяти.(С++) Даже представления не...
Функции и указатели!!! C++
Надо написать программу: Определить подпрограммы сложения и умножения целых чисел, представленных в системах счисления с любым основанием от 2 до 10. результаты проверять на десятичных числах....
C++ Как просто написать программу http://www.cyberforum.ru/cpp-beginners/thread211206.html
Помогите пожалуйста решить задачу Петя читал книгу (650 страниц) а на утро забыл на какой странице остановился, помнил только что сумма цифр была 19. Сколько таких страниц в книге?
C++ Использование приватной переменной #include<iostream> #define N 100 using namespace std; class Mass { private: int a,n; public: Mass() { подробнее

Показать сообщение отдельно
easybudda
Модератор
Эксперт CЭксперт С++
9625 / 5573 / 947
Регистрация: 25.07.2009
Сообщений: 10,708
15.12.2010, 01:16
Цитата Сообщение от Светланик Посмотреть сообщение
в его записи, к сожаленью, я вообще ничего не понимаю
На самом деле всё просто: каждый символ unsigned char (unsigned - чтобы правильно обрабатывались символы с кодом > 127) может иметь значения от 0 до UCHAR_MAX (определено в limits.h) - значит всего значений UCHAR_MAX + 1. Создаём массив такого размера, обнуляем его
Цитата Сообщение от easybudda Посмотреть сообщение
memset(symbols, 0, sizeof(symbols));
а дальше в цикле (помня про то, что строка заканчивается нулём) берём по символу. Каждый символ из строки - по сути индекс в массиве символов. Соответственно увеличиваем значение элемента массива, индекс которого равен очередному символу.
Следующим циклом проходим по свежезаполненному массиву. Если значение очередного элемента больше нуля, значит символ равный индексу элемента встречался в строке. По сути в массиве содержатся счётчики символов из строки, при желании можно и их вывести. Но по заданию просто считаем количество элементов массива, больших нуля - это и будет количество уникальных символов в строке...
2
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru