Дан символьный массив А[N]. Определить для каждого символа массива А, сколько раз он встречается в массиве. (С++)
Как это можно реализовать через метод сортировки пузырьком? И надо ли оно вообще?

Ответы

Ответ дал: Afex
0
Первое что в голову приходит:
for (i=0;i<n;i++)
{for (j=0;i<n;j++){
if (A[i]==A[j])k++;if (j==n-1)
{cout<<"Элемент "<<A[i]<<" встречается "<<k<<"раз."<<endl;k=0;}
}
}Код возможно местами не рабочий, но алгоритм такой: берем первый элемент строки > прогоняем по всему массиву пока не дойдем до последнего элемента > если встречается такой же, счетчик увеличивается>доходим до конца - выводится элемент и количество в строке > счетчик обнуляется > то же самое происходит со вторым элементом.
правильнее использовать другой алгоритм, потому что этот производит много действий что сказывается на работоспособность. Но тебе думаю и такой пойдет.

Приложения:
Ответ дал: supraoceanum
0
Это все конечно понятно, другое дело как это в коде реализовать :C
Ответ дал: Afex
0
я же показал. у тебя есть 2 цикла for i,j
цикл i у тебя выбирает эллемент который мы прогонять по строке будем
цикл j двигает тот самый эллемент i сравнивая его с a[j]
Ответ дал: Afex
0
добавил скрин. с тебя только динамическую строку ввести.
с строкой константой работает
Ответ дал: supraoceanum
0
А что за динамическая строка? Уж слишком я плох в этой сфере...
Ответ дал: Afex
0
чтобы задать строку char A[n] нужно выделить участок памяти. это динамическое выделение памяти называется, если я не ошибаюсь. Например char A[10] будет состоять из 10 символов(константы).
char *string;
int size;
string = new char[string];
cout<<"Введите кол-во символов в строке"<cin>>string>>endl;

Вроде так, если я не ошибаюсь. В интернете много статей, почитай если нужно
Вас заинтересует