Bài 11: Kiểu mảng

TL

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


NL
5 tháng 4 2020 lúc 12:56

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

Bình luận (0)
 Khách vãng lai đã xóa
NT
4 tháng 4 2020 lúc 15:09

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.

Bình luận (0)
 Khách vãng lai đã xóa
ML
5 tháng 4 2020 lúc 12:02

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.

Bình luận (0)
 Khách vãng lai đã xóa

Các câu hỏi tương tự
NL
Xem chi tiết
HT
Xem chi tiết
NN
Xem chi tiết
H24
Xem chi tiết
AL
Xem chi tiết
NT
Xem chi tiết
NN
Xem chi tiết
NL
Xem chi tiết
LC
Xem chi tiết