You are on page 1of 10

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

Bài 1:
Uses crt;
Var i,n,k,max,min,x: integer;
a:array[1..100] of integer;
d:array[1..100] of integer;
Begin
clrscr;
min:=9999;
max:=0;
Readln(n);
For i:=1 to n do
begin
Readln(x);
If (min>x) then min:=x;
If (max<x) then max:=x;
d[x]:=d[x]+1
end;
Writeln('min=',min,' max=' ,max);
For i:=min to max do
If d[i]=0 then write(i,' ');
Readln;
End.
Bài 2:
Uses crt;
Var i,n,t:integer;
a:array[1..101] of integer;
Begin
Clrscr;
Readln(n);
For i:=1 to n do
Readln(a[i]);
For i:=1 to n do
Begin
Writeln('time nguoi thu ',i,' doi la',t);
t:=t+a[i];
End;
Readln;
End.
Bài 3:
Uses Crt;
Var i,n,t: integer;
a:array[1..101] of integer;
ok:array[1..101] of integer;
Begin
clrscr;
Readln(n);
For i:=1 to n do
Begin
Readln(a[i]);
If a[i] mod 3=0 then ok[i]:=1;
end;
For i:=1 to n do
If ok[i]=0 then
Write(a[i],' ');
Readln; Readln;
End.
Bài 4:
Uses crt;
Var i,n,t: integer;
a:array[1..101] of integer;
ok:array[1..101] of integer;
Begin
Read(n);
For i:=1 to n do
Begin
Read(a[i]);
If a[i] mod 3=0 then ok[i]:=1;
End;
For i:=1 to n do
If ok[i]=0 then Write(a[i],' ')
Else write('0 0 0 ');
Readln; readln;
End.
Bài 5:
uses crt;
var a:array[1..100] of integer;
i,n,j,k,b,c:integer;
procedure dc(var a,b:integer);
var t:integer;
begin
t:=a;
a:=b;
b:=t;
end;
{-}
begin
clrscr;
write('nhap so phan tu cua day:');readln(n);
for i:=1 to n do
begin
write('a[',i,']:');readln(a[i]);
end;
for i:=1 to n-1 do
for j:=i+1 to n do
if (a[i] mod 2=0) and (a[j] mod 2=1) then dc(a[i],a[j]);
writeln('mang sau khi sap xep giai doan 1;');
for i:=1 to n do write(a[i]:3);
for i:=1 to n-1 do
for j:=i+1 to n do
if (a[i]<a[j]) and (a[i] mod 2=1) and (a[j] mod 2=1) then
dc(a[i],a[j]);
for i:=1 to n-1 do
for j:=i+1 to n do
if (a[i]>a[j]) and (a[i] mod 2=0) and (a[j] mod 2=0) then
dc(a[i],a[j]);
writeln;
writeln('mang sau khi sap xep giai doan 2:');
for i:=1 to n do write(a[i]:3);
readln;
end.
Bài 6:
uses crt;
var a:array[1..100] of integer;
i,j,n,t:integer;
begin
clrscr;
{--- nhap mang a ---}
write('nhap so pt cua a : ');readln(n);
write('nhap day a : ');
for i:=1 to n do readln(a[i]);
{--- nhap mang b noi vao mang a ---}
write('nhap so pt cua b : ');readln(n);
write('nhap day b : ');
for j:=i+1 to i+n do readln(a[j]);
{--- sap xep lai mang ---}
n:=j;
for i:=1 to n-1 do
for j:=i+1 to n do
if a[i]>a[j] then
begin
t:=a[i];
a[i]:=a[j];
a[j]:=t;
end;
clrscr;
{--- in ket qua ---}
for i:=1 to n do write(a[i],' ');
readln;
end.
Bài 7:
uses crt;
var i,j,k,l,p,n,m,tg:longint;
a,b,c,x,d:array[1..1000] of longint;
begin
clrscr;
write('Nhap so phan tu mang a:');readln(n);
k:=0;
for i:=1 to n do
begin
write('a[',i,']=');readln(a[i]);
end;
for i:=1 to n-1 do
begin
l:=i+1;
while l<=n do
begin
if a[i]=a[l] then
begin
for p:=l to n do
a[p]:=a[p+1];
n:=n-1;
end else l:=l+1;
end;
end;
writeln;
write('Nhap so phan tu mang b:');readln(m);
for i:=1 to m do
begin
write('b[',i,']=');readln(b[i]);
k:=k+1;
end;
for i:=1 to m-1 do
begin
l:=i+1;
while l<=m do
begin
if b[i]=b[l] then
begin
for p:=l to m do
b[p]:=b[p+1];
m:=m-1;
end else l:=l+1;
end;
end;
k:=0;
i:=0;
while i<=n do
begin
k:=k+1;
i:=i+1;
c[k]:=a[i];
d[k]:=0;
end;
i:=0;
while i<=m do
begin
k:=k+1;
i:=i+1;
c[k]:=b[i];
d[k]:=0;
end;
for i:=1 to k-1 do
begin
l:=i+1;
while l<=k do
begin
if c[i]=c[l] then
begin
d[i]:=d[i]+1;
for p:=l to k do
c[p]:=c[p+1];
k:=k-1;
end else l:=l+1;
end;
end;
l:=0;
for i:=1 to k do
if d[i]=0 then
begin
l:=l+1;
x[l]:=c[i];
end;
for i:=1 to l-1 do
for j:=i+1 to l do
if x[i]>x[j] then
begin
tg:=x[i];
x[i]:=x[j];
x[j]:=tg;
end;
writeln('Mang C:');
for i:=1 to l do
write(x[i]:4);
readln
end.
Bài 8:
uses crt;
var n,i,j,d,d2,s:longint;
a:array[1..100000] of longint;
begin
clrscr;
s:=0;
d:=0;d2:=0;
write('Nhap so phan tu ');readln(n);
for i:=1 to n do
begin
write('a[',i,']=');readln(a[i]);
if a[i]>0 then
begin
s:=s+a[i];
d2:=d2+1;
end;
if a[i] mod 3=0 then d:=d+1;
end;
writeln('Trung binh cong cua so duong la ',(s/d2):0:2);
writeln('Co ',d,' so chia het cho 3');
writeln('Vi tri so 0 trong day la ');
for i:=1 to n do
if a[i]=0 then write(i,' ');
readln;
end.
Bài 9:
uses crt;
var i,j,z,s:integer;
begin
clrscr;
s:=0;
for i:=1 to 9 do
for j:=0 to 9 do
for z:=0 to 9 do
if (i*i*i + j*j*j + z*z*z)=(i*100+j*10+z) then s:=s+(i*100+j*10+z);
write('Tong cac so do la ',s);
readln;
end.
Bài 10:
uses crt;
var i,n:longint;
a:array[1..100000000] of longint;
kt:array[1..100000000] of boolean;
begin
clrscr;
write('Nhap so phan tu cua day ');readln(n);
for i:=1 to n do
begin
write('a[',i,']=');
readln(a[i]);
end;
writeln('Cac phan tu khac nhau trong day la ');
for i:=1 to n do
begin
if kt[a[i]]=false then
begin
kt[a[i]]:=true;
write(a[i],' ');
end
end;
readln;
end.
Bài 11:
uses crt;
var n,i,j:longint;
a:array[1..100000000] of longint;
begin
clrscr;
write('Nhap so phan tu cua day ');
readln(n);
for i:=1 to n do
begin
write('a[',i,']=');
readln(a[i]);
end;
i:=0;
while i<n do
begin
i:=i+1;
if frac(sqrt(a[i]))=0 then
begin
for j:=i to n-1 do a[j]:=a[j+1];
n:=n-1;
i:=i-1;
end;
end;
writeln('Day sau khi xoa la ');
for i:=1 to n do write(a[i],' ');
readln;
end.
Bài 12:
uses crt;
var n,i,j,tg:longint;
a:array[1..20] of longint;
kt:array[0..1000000] of boolean;

function snt(x:longint):boolean;
var i1:longint;
begin
if x<2 then exit(false);
for i1:=2 to trunc(sqrt(x)) do
begin
if x mod i1=0 then exit(false);
end;
kt[x]:=true;
exit(true);
end;

function kq(y:longint):longint;
var j1:longint;
begin
if (kt[y]=true) or (snt(y)=true) then exit(y);
j1:=0;
repeat
j1:=j1+1;

until (kt[y-j1]=true) or (kt[y+j1]=true) or (snt(y-j1)=true) or (snt(y+j1)=true);


if kt[y-j1]=true then exit(y-j1)
else exit(y+j1);
end;

begin
clrscr;
write('Nhap so phan tu cua day ');readln(n);
for i:=1 to n do
begin
write('a[',i,']=');
readln(a[i]);
end;
for i:=1 to n-1 do
for j:=i+1 to n do
begin
if a[i]>a[j] then
begin
tg:=a[i];
a[i]:=a[j];
a[j]:=tg;
end;
end;
writeln('a)Day sau khi sap xep la ');
for i:=1 to n do write(a[i],' ');
writeln;
writeln('b)Day B la ');
for i:=1 to n do
begin
write(kq(a[i]),' ');
end;
readln;
end.
Bài 13:
uses crt;
var n,i,j:longint;
a:array[1..1000000] of longint;

function snt(x:longint):boolean;
var i1:longint;
begin
if x<2 then exit(false);
for i1:=2 to trunc(sqrt(x)) do
begin
if x mod i1=0 then exit(false);
end;
exit(true);
end;

begin
clrscr;
write('Nhap so phan tu ');readln(n);
for i:=1 to n do
begin
write('a[',i,']=');
readln(a[i]);
end;
i:=0;
while i<n do
begin
i:=i+1;
write(a[i],' ');
if snt(a[i]) then
begin
for j:=i to n-1 do a[j]:=a[j+1];
i:=i-1;
n:=n-1;
end;
end;
writeln;
for i:=1 to n do write(a[i],' ');
readln;
end.
Bài 14:
uses crt;
var n,i,j,tg,s:longint;
p:real;
a:array[1..31] of longint;

procedure sx;
begin
for i:=1 to n-1 do
for j:=i+1 to n do
if a[i]>a[j] then
begin
tg:=a[i];
a[i]:=a[j];
a[j]:=tg;
end;
end;

begin
clrscr;
write('Nhap so phan tu ');readln(n);
for i:=1 to n do
begin
write('a[',i,']=');
readln(a[i]);
end;
for i:=1 to n-1 do
begin
for j:=i+1 to n do
if a[i]>a[j] then
begin
tg:=a[i];
a[i]:=a[j];
a[j]:=tg;
end;
end;
s:=0;
for i:=n downto 1 do
begin
write(a[i],' ');
s:=s+a[i];
end;
writeln;
writeln(s);
p:=0;
repeat
sx;
for i:=1 to n do
begin
if i+1<=n then
begin
a[i]:=a[i]+a[i+1];
p:=p+(a[i]/100);
for j:=i+1 to n do a[j]:=a[j+1];
n:=n-1;
end;
end;
until n=1;
write(p:0:2);
readln;
end.

You might also like