fork download
  1.  
  2. #include <iostream>
  3. #include <string.h>
  4. using namespace std;
  5. #define MAX 300
  6.  
  7. void DemKyTu(char s[]);
  8. int myStrcmp(char s1[MAX], char s2[MAX]);
  9. int myStrlen(char s[], int k);
  10.  
  11. int main()
  12. {
  13. char s[MAX];
  14. //gets(s); //Nhap chuoi s
  15. cin.getline(s,MAX);
  16. if (myStrcmp(s, "") == 0)
  17. cout << "Chuoi rong." << endl;
  18. else
  19. DemKyTu(s);
  20.  
  21. return 0;
  22. }
  23.  
  24. int myStrlen(char s[], int k){
  25. int dem = 0;
  26. for (int i=0;s[i]!='\0';i++) ++dem;
  27. //cout << dem << endl;
  28. return dem;
  29. }
  30.  
  31.  
  32.  
  33.  
  34. int myStrcmp(char s1[MAX], char s2[MAX]){
  35. bool check_space = false;
  36. if (myStrlen(s1,0)==0) return 0;
  37. for (int i=0;i<myStrlen(s1,0);i++) if (s1[i]!=' ') check_space=true;
  38. if (check_space==false) return -1; // chuoi toan dau cach
  39. return 1;
  40.  
  41. }
  42.  
  43.  
  44.  
  45.  
  46. void DemKyTu(char s[]){
  47. int m=0;
  48. int dem[300];
  49. bool check[300];
  50. char c[300];
  51. for (int i=1;i<300;i++){
  52. check[i]=false;
  53. dem[i]=0;
  54. }
  55.  
  56. for (int i=0; s[i]!='\0';i++){
  57. if (check[s[i]]==true){
  58. //cout << i << " " << s[i] << " " << dem[s[i]] ;
  59. ++dem[s[i]];
  60. //cout << endl;
  61. }
  62. else {
  63. //cout << i << " " << s[i] << " " << dem[s[i]];
  64. //cout << endl;
  65. ++m;
  66. check[s[i]]=true;
  67. ++dem[s[i]];
  68. c[m]=s[i];
  69. }
  70. }
  71.  
  72. for (int i=1;i<=m;i++) cout << c[i] << ": " << dem[c[i]] << endl;
  73.  
  74.  
  75.  
  76.  
  77.  
  78.  
  79. }
Success #stdin #stdout 0.01s 5284KB
stdin
Standard input is empty
stdout
Chuoi rong.