Предмет: Информатика, автор: supraoceanum

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

Ответы

Автор ответа: Afex
1
Первое что в голову приходит:
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;}
}
}Код возможно местами не рабочий, но алгоритм такой: берем первый элемент строки > прогоняем по всему массиву пока не дойдем до последнего элемента > если встречается такой же, счетчик увеличивается>доходим до конца - выводится элемент и количество в строке > счетчик обнуляется > то же самое происходит со вторым элементом.
правильнее использовать другой алгоритм, потому что этот производит много действий что сказывается на работоспособность. Но тебе думаю и такой пойдет.

Приложения:

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

Вроде так, если я не ошибаюсь. В интернете много статей, почитай если нужно
Похожие вопросы
Предмет: Математика, автор: vandammejeanclaude39
Предмет: Математика, автор: vandammejeanclaude39
Предмет: Математика, автор: Maksimus366