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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
mariacatz
1 / 1 / 0
Регистрация: 06.12.2014
Сообщений: 37
#1

Для каждого символа исходной строки найти число вхождений его в строке - C++

08.12.2014, 21:36. Просмотров 622. Ответов 5
Метки нет (Все метки)

Для каждого символа исходной строки найти число вхождений его в строке и напечатать в столбец(символ, частота вхождения)
Почему-то неправильные результаты выдает. Я новичок,поэтому очень прошу помощи
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
void f(char *a)
{
    int b = 0; int i=0, j=1;
    while (i < n)
    {
        while (j < n)
        {
            if (a[i] = a[j])  b++;
            j++;
        }
        
        printf("%c:%i\n", a[i], b);
        i++; j = 1;b = 0;
    }
}
Добавлено через 31 секунду
#define n 5
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.12.2014, 21:36
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Для каждого символа исходной строки найти число вхождений его в строке (C++):

Поменяйте чётные символы между строками, и после каждого четного символа добавьте его номер в исходной строке - C++
Запросите у пользователя 2 строки длинной от 4 до 20 символов.Поменяйте чётные символы между строками, и после каждого четного символа...

Определить количество вхождений каждого символа в строке - C++
Помогите решить задачу! Вот условие: После ввода с клавиатуры произвольного строки выдать на экран протокол о количестве вхождений...

Напечатать все различные слова, указав для каждого из них число его вхождений в последовательность - C++
Помогите пожалуйста решить задачу: Дана последовательность, содержащая несколько слов, разделенных пробелами, за последним словом -...

После ввода с клавиатуры произвольного строки выдать на экран протокол о количестве вхождений каждого символа. В протоколе символы расположить по алфа - C++
После ввода с клавиатуры произвольного строки выдать на экран протокол о количестве вхождений каждого символа. В протоколе символы...

В веденной строке после каждого символа добавить его код - C++
Вопрос в том, как мне вывести именно после каждого символа?..а, ещё оно и не те коды пишет чего-то... #include &lt;iostream&gt; ...

Найти число пробелов в строке и заменить их на номер по порядку в исходной строке - C++
Задание: Во введенной пользователем строке найти число пробелов и заменить все пробелы на их номер по порядкув исходной строке. Например...

5
olgashat
88 / 71 / 40
Регистрация: 07.12.2014
Сообщений: 303
08.12.2014, 21:39 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
if (a[i] == a[j])  b++;//должна быть использована операци сравнения
            j++;
Добавлено через 50 секунд
кроме того будут выведены повторяющиеся символы несколько раз
если не запрещено, лучше затирать повторные вхождения символов
0
mariacatz
1 / 1 / 0
Регистрация: 06.12.2014
Сообщений: 37
08.12.2014, 21:44  [ТС] #3
спасибо

Добавлено через 1 минуту
0
zss
Модератор
Эксперт С++
6632 / 6194 / 2049
Регистрация: 18.12.2011
Сообщений: 16,151
Завершенные тесты: 1
08.12.2014, 22:13 #4
Проще создать массив, длина которого равна длине кодовой таблицы (256).
Обнулить его и потом для каждого символа строки увеличивать элемент массива,
номер которого равен коду символа.
C++
1
2
3
4
5
6
7
8
int a[256]={0};
unsigned char str[]="bla bla bla....123";
int L=strlen(str);
for(int j=0;j<L;j++)
  a[str[j]]++;
for(int i=0;i<256;i++)
  if(a[i])
    cout<<(char)i<<" встречается "<<a[i]<<" раз";
1
mariacatz
1 / 1 / 0
Регистрация: 06.12.2014
Сообщений: 37
09.12.2014, 14:02  [ТС] #5
Не могли бы вы подробнее объяснить 5 и 7 строки программы? не совсем понимаю,как она работает

Добавлено через 2 минуты
не могу понять алгоритм(
0
zss
Модератор
Эксперт С++
6632 / 6194 / 2049
Регистрация: 18.12.2011
Сообщений: 16,151
Завершенные тесты: 1
09.12.2014, 14:15 #6
5 строка
Цитата Сообщение от zss Посмотреть сообщение
увеличивает элемент массива,
номер которого равен коду символа
Соответственно, сколько раз мы увеличиваем i-ый элемент массива,
столько раз код i встречается в строке.
1
09.12.2014, 14:15
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.12.2014, 14:15
Привет! Вот еще темы с ответами:

Составить программу, в строке, введенному пользователем, подсчитывает число вхождений того или иного символа. Написать функцию count вычисления числа - C++
Составить программу, в строке, введенному пользователем, подсчитывает число вхождений того или иного символа. Написать функцию count...

Для каждого из слов предложения вывести количество его вхождений - C++
Помогите пожалуйста! Не могу найти ошибку. Очень срочно! Компилирует мне он программу правильно, но вот выдаёт не совсем то, что нужно. ...

Для каждого элемента определить число вхождений в данную последовательность - C++
Помогите пожалуйста!!! в С++ Даны натуральное число N и последовательность A1, A2, …,A N. Для каждого элемента определить число вхождений в...

Для каждого символа увеличить его значение на 1 - C++
В соответствии с индивидуальным вариантом написать и выполнить программу: 26. Задан текст. Для каждого символа увеличить его значение на...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.