Как подсчитать количество одинаковых символов в строке?

Вот сама задача:

Написать программу, которая проверяет, сколько каждый символ встречается во введённой с клавиатуры строке.

Вот то не многое что смог сделать:

C++Выделить код

1
2
3
4
5
6
7
8
9
10
11
12
13

#include <iostream>
#include <stdio.h>
#include <string.h>
 
void main()
{
    const int n=100;
    char st[n];
    printf("Bedute stroky: ");
    gets(st);
    //???
    system("pause");
}

Я так понимаю в программе надо создать один двумерный массив buk[n][1] (n-размер массива) где по адресу buk[n][0] будут храниться буквы, а по адресу buk[n][1] будет храниться “счётчик”.

Проблема у меня возникает в следующем:

1. Как сделать, так что бы в массиве по адресу buk[n][0] не было бы повторных букв.

2. И как, собственно говоря, подсчитать количество одинаковых букв?