Nh
p xâu van b n
Ð m xem
kí t
s
nào xu
t hi n nhi u nh t?
Vd: ‘toi di cho t
35
n mua 2
533
d xoi, 2
3
55
d thit. Con 55
0 nghin‘
Kq
: ‘
5
’ xh nhi
u nh t = 6
l
n
1/Kb, Nh
p xâu
2/Ð
m s l n xu t hi n c a m i kí t s (l
uu vào 10 bi
n l
uu
k t qu )
*Dùng m
ng 10
ph
n t
(ng
m quy u c pt ch s 0 d m s l n xu t hi n c a kí t ‘0’
Ch
s i l
uu sl xh kt i)
*Ð
m: xem xét t ng kí t (while)
N u l
à kt s
: tang
bi
n d m t
uong
ng
lên 1 don v
Kí t
s[i] l
à kt s
Tang ph
n t a[] l
ên 1 don v
s[i]==’0’ tang a[0
] lên 1dv
s[i]==’1’ tang a[1] lên 1dv
a[(int)s[i]
-
(int)’0’]++
(int)s[i]
-
(int)’0’ ==0 n
u s[i]==’0’
1
‘1’
2
‘9’
3/tìm
max trong 10 kq dó =>max
In k
t qu
#include <iostream.h>
void main(){
char s[100];
cout<<"Nhap xau: ";
cin
.getline(s,100);
int a[10],i;
for(i=0;i<10;i++)a[i]=0;
i=0;
while(s[i]!='\
0'){
if(s[i]>='0' && s[i]<='9')
a[(int)s[i]-(int)'0']++;
i++;
}
int t;
t=0; //t la chi so phat tu max
for(i=1;i<10;i++)
if(a[i]>a[t])t=i;
cout<<"ki tu "<<t<<" xh nhieu nhat voi so lan="<<a[t];
}
./// in ra nhieu kq trung nhau
#include <iostream.h>
void main(){
char s[100];
cout<<"Nhap xau: ";
cin.getline(s,100);
int a[10],i;
for(i=0;i<10;i++)a[i]=0;//reset a ve 0
i=0;
while(s[i]!='\
0'){//duyet den het xau
if(s[i]>='0' && s[i]<='9')//s[i] la kt so
a[(int)s[i]-(int)'0']++;
i++;
}
int t;
t=0; //t la chi so phan tu max
for(i=1;i<10;i++)
if(a[i]>a[t])t=i;
for(i=0;i<10;i++)
if(a[i]==a[t])
cout<<"ki tu "<<i<<" ";
cout<<" xh nhieu nhat voi sl="<<a[t];
}