Câu 1: Nhập vào một dãy số nguyên a: a1, a2, ... , an. Hiển thị ra màn hình số hạng xuất hiện nhiều nhất trong dãy và vị trí của nó trong dãy a.
câu 2
Nhập vào một xâu bất kỳ
- Đếm số lượng kí tự in hoa, in thường, số trong xâu
- Đếm số từ có trong xâu
- Kiểm tra xâu đối xứng
- Đổi hoa hoàn toàn cả xâu
câu 3
Cho 2 xâu S1,S2 được nhập vào từ bàn phím. Viết chương trình kiểm tra xem có bao nhiêu ký tự trùng nhau và in các ký tự đó ra màn hình.
câu 4 Viết chương trình nhập vào một xâu ký tự từ bàn phím. Thông báo lên màn hình các chữ cái có trong xâu và số lượng của chúng ( Không phân biệt chữ hoa hay chữ thường).
Ý tưởng:- Dùng một mảng dem với chỉ số là các chữ cái để lưu trữ số lượng của các chữ cái trong xâu.
- Duyệt qua tất cả các ký tự của xâu St: Nếu ký tự đó là chữ cái thì tăng ô biến mảng dem[St[i]] lên 1 đơn
Program hotrotinhoc;
var st: string;
d,i: integer;
j: char;
begin
write('Nhap xau st : '); readln(st);
write('Cac chu cac co trong xau la :');
for i:=1 to length(st) do
if st[i] in ['A'..'z'] then
begin
write(st[i]);
inc(d);
end;
writeln;
write('So luong cac chu cai trong xau la :',d);
readln
end.
......Lần sau bạn nên cho ví dụ nhé, những bài như thế này có rất nhiều hướng dễ nhầm lẫn . Bạn cho ví dụ thì thuật toán đưa ra dễ dàng hơn
Câu 1:
uses crt;
var a,b:array[-32000..320000]of integer;
i,n,max,x:integer;
begin
clrscr;
write('n='); readln(n);
for i:=1 to n do
begin
write('a[',i,']='); readln(a[i]);
inc(b[a[i]]);
end;
max:=0;
for i:=1 to n do
if max<b[a[i]] then
begin
max:=b[a[i]];
x:=a[i];
end;
writeln('so hang xuat hien nhieu nhat trong day A la: ',x);
writeln('vi tri cua no trong day A la: ');
for i:=1 to n do
if x=a[i] then write(i:4);
readln;
end.
Câu 2:
uses crt;
var st:string;
dem,dem1,dem2,d,i,dem3,kt:integer;
begin
clrscr;
write('nhap xau:'); readln(st);
{---------------dem-so-luong-ki-tu-in-hoa-in-thuong-so-trong-xau-------------}
dem:=0;
dem1:=0;
dem2:=0;
d:=length(st);
for i:=1 to d do
begin
if st[i] in ['A'..'Z'] then inc(dem);
if st[i] in ['a'..'z'] then inc(dem1);
if st[i] in ['0'..'9'] then inc(dem2);
end;
writeln('so luong ki tu in hoa trong xau la: ',dem);
writeln('so luong ki tu in thuong trong xau la: ',dem1);
writeln('so luong ki tu chu so trong xau la: ',dem2);
{------------------dem-so-tu-co-trong-xau----------------}
dem3:=0;
for i:=1 to d do
if st[i]=' ' then inc(dem3);
writeln('so tu co trong cau la: ',dem3+1);
{-----------------kiem-tra-tinh-doi-xung-cua-xau------------------}
kt:=0;
for i:=1 to d do
if st[i]<>st[d-i+1] then kt:=1;
if kt=0 then writeln('day la xau doi xung')
else writeln('day khong la xau doi xung');
{---------------------doi-hoa-xau-----------------------}
for i:=1 to d do
st[i]:=upcase(st[i]);
for i:=1 to d do
write(st[i]);
readln;
end.
Program hotrotinhoc;
var s1,s2,st1,st2: string;
i: integer;
begin
write('Nhap xau S1 :'); readln(s1);
write('Nhap xau S2 :'); readln(s2);
for i:=1 to length(s1) do if pos(s1[i],s1)=i then st1:=st1+s1[i];
for i:=1 to length(s2) do if pos(s2[i],s2)=i then st2:=st2+s2[i];
for i:=1 to length(st1) do
while pos(st1[i],st2)<>0 do
begin
write(st1[i]);
delete(st1,pos(st1[i],st1),1);
end;
readln
end.