Тема: завдання з c++
Добрий день, є ось така задачка по с++
запитати у людини рядок, треба порахувати кількість входжень кожної букви і вивести статистику, наприклад:
vvedi stroku: hello WORLD
L - 3
O - 2
H - 1
E - 1
W - 1
R - 1
D - 1
алгоритм сортування повинен бути саме пузириний.
Моя програма працює ось так:
vvedi stroku: hello
h - 2
e - 2
l - 1
l - 1
o - 1
А повинна бути ось так:
vvedi stroku: hello
l - 2
h - 1
e - 1
o - 1
Прошу допомогти мені вирішити це завдання.
Ось мій код:
#include <iostream>
using namespace std;
int main() {
int i = 0;
int j = 0;
int number[200];
int max = 0;
int temp = 0;
while (i < 200) {
number[i] = 0;
i++;
}
i = 0;
char enter[200] = "";
cin.getline(enter, 200);
i = 0;
while (i < 200) {
if (enter[i] >= 'a' && enter[i] <= 'z') {
max++;
}
i++;
}
max += 1;
while (j < max) {
if (enter[i] >= 'a' && enter[i] <= 'z') {
if (enter[j] == enter[i]) {
number[i] += 1;
}
}
if (i == 200) {
i = 0;
j++;
}
i++;
}
i = 0;
j = 0;
while (i < max) {
if (number[i] == 0) {
number[i]++;
}
i++;
}
i = 0;
while (i < max) {
if (number[i] < number[i + 1]) {
temp = number[i];
number[i] = number[i + 1];
number[i + 1] = temp;
}
i++;
}
i = 0;
while (i < max) {
if (number[i] < number[i + 1]) {
temp = number[i];
number[i] = number[i + 1];
number[i + 1] = temp;
}
i++;
}
i = 0;
while (i < max) {
if (enter[i] >= 'a' && enter[i] <= 'z') {
cout << enter[i] << " - " << number[i] << endl;
}
i++;
}
system("pause");
return 0;
}