Tải bản đầy đủ (.doc) (7 trang)

BÀI TẬP VỀ MẢNG MỘT CHIỀU

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (87.54 KB, 7 trang )

Chủ Đề: Một số bài tập Pascal về mảng một chiều
Đề bài: Nhập vào một mảng gồm n số nguyên và số nguyên k. TÌm và đưa ra màn
hình:
a.Giá trị lớn nhất của mảng, vị trí lớn nhất đó
b. Gía trị nhỏ nhất của màng, vị trí
c. Tính tổng bình phương các giá trị ở vị trí chẵn
d. Sắp xếp mảng theo thứ tự tăng dần
e. Đếm xem trong mang có bao nhiêu giá trị bằng k.
var a:array[1..200] of integer;
max,min,m,j,n,imin,imax,d,k,s,tg:integer;
Begin
write('Nhap so phan tu:');readln(n);
write('Nhap k:'); readln(k);
for m:=1 to n do
begin
write('Nhap a[',m,']=');readln(a[m]);
end;
max:=a[1];min:=a[1];d:=0;s:=0;imin:=1;imax:=1;
for m:= 2 to n do
begin
if a[m]>max then
begin
max:=a[m];
imax:=m;
end;
if a[m]<min then
begin
min:=a[m];
imin:=m;
end;
if a[m]=k then d:=d+1;


if m mod 2=0 then s:=s+sqr(a[m]);
end;
{sx day tang dan}
For m:=1 to n-1 do
For j:=m+1 to n do
if a[m]>a[j] then
begin
tg:=a[m];
a[m]:=a[j];
a[j]:=tg;
end;
Writeln('Gia tri lon nhat cua day la ', max,' o vi tri',imax);
Writeln('Gia tri nho nhat cua day la ', min,' o vi tri',imin);
Writeln('Tong binh phuong cac so o vi tri chan ',s);
writeln('So phan tu co gia tri bang ',k,' la ',d);
Writeln('Mang sau khi sap xep');
for m:=1 to n do
write(a[m]);
readln;
End.
{Tim doan dai nhat gom cac so 0 lien tiep}
var a:array[1..100] of integer;
n,dem,i,j,tong,max,vt:integer;
begin
write('Nhap so phan tu cua mang:');readln(n);
for i:=1 to n do
begin
write('Nhap a[',i,']:');readln(a);
end;
dem:=0;

for i:=1 to n do
begin
if a =0 then dem:=dem+1
else dem:=0;
if dem>max then max:=dem;
end;
write('Doan dai nhat gom cac so 0 lien tiep la ',max);
readln;
end.
{Kiem tra mot day la cap so cong}
var a:array[1..100] of integer;
d,i,n:integer;
kt:boolean;
begin
write('Nhap n:');readln(n);
for i:=1 to n do
begin
write('Nhap a[',i,']:');readln(a);
end;
kt:=true;i:=3; d:=a[2]-a[1];
while (i<=n) do
begin
if a-a[i-1] <>d then kt:=false;
inc(i);
end;
if kt then write('day la cap so cong')
else
write('day khong la csc');
readln;
end.

{Tim day con tang co tong lon nhat, in ra day con do}
var a:array[1..100] of integer;
n, i,j,tong,max,vt:integer;
begin
write('Nhap so phan tu cua mang:');readln(n);
for i:=1 to n do
begin
write('Nhap a[',i,']:');readln(a);
end;
i:=1;max:=0;
while (i<=n) do
begin
j:=i+1;tong:=a;
while (j<=n) and (a[j]>a[j-1]) do
begin
tong:=tong+a[j];
if tong>max then
begin
max:=tong;
vt:=i;
end;
inc(j);
end;
tong:=0;
inc(i);
end;
writeln('Day co tong tang lon nhat');
while (vt<=n) and (a[vt]<a[vt+1]) do
begin
write(a[vt]);

vt:=vt+1;
end;
writeln(a[vt]);
write('Voi tong lon nhat la ',max);
readln;
end.
{Tron hai mang duoc sap xep tang dan thanh mot mang duoc sap xep tang dan}
WriteLN('NHAP PHAN TU CHO MANG A:');
Writeln('_________________________');
write('Nhap n:');readln(n);
for i:=1 to n do
begin
write('Nhap a[',i,']:');readln(a);
end;
WRIteln('NHAP PHAN TU CHO MANG B:');
write('Nhap m:');readln(m);
for i:=1 to m do
begin
write('Nhap b[',i,']:');readln(b);
end;
i:=1;j:=1;k:=1;
{Ca hai day chua het}
while (i<=n) and (j<=m) do
begin
if a<b[j] then
begin
c[k]:=a;
inc(i);
end
else

begin
c[k]:=b[j];
inc(j);
end;
inc(k);
end;
{Day b het}
while (i<=n) do
begin
c[k]:=a;
inc(i);
inc(k);
end;
{Day a het}
while (j<=m) do
begin
c[k]:=b[j];
inc(j);
inc(k);
end;
WRITELN('DAY SAU KHI TRON LA');
writeln('___________________');
for k:=1 to n+m do
write(c[k],' ') ;}
{Tron mang theo pp chan o cuoi}
{Type mang=array[1..100] of integer;
var a,b,c:mang;
i,m,k,n,j:integer;
begin
write('Nhap n:');readln(n);

for i:=1 to n do
begin
write('Nhap a[',i,']:');readln(a);
end;
write('Nhap m:');readln(m);
for j:=1 to m do
begin
write('Nhap b[',j,']:');readln(b[j]);
end;
a[n+1]:=32001;
b[m+1]:=32001;
i:=1;j:=1;
for k:=1 to m+n do
begin
if a<b[j] then begin c[k]:=a;inc(i);end
else
begin c[k]:=b[j];inc(j);end;
end;
writeln('Day sau khi tron la');
for k:=1 to m+n do write(c[k]);}
readln;
end.
{Doi cho phan tu lon nhat va nho nhat}
write('Nhap n:');readln(n);
for i:=1 to n do
begin
write('Nhap a[',i,']:');readln(a);
end;
i:=1;j:=n;min:=a[1];max:=a[n];
while i<=n do

begin
if a<=min then
begin
min:=a;
k:=i;
end;
inc(i);
end;
while j>=1 do
begin
if a[j]>= max then
begin
max:=a[j];
x:=j;
end;
dec(j);

×