# Trung tâm xử lý sự cố > Hỏi-Đáp về Lập trình >  Xin đc giúp đỡ với bài toán trong mảng của Pascal

## annkhsouth

mình mới học pascal đc 2 tuần, trình độ còn rất non kém, cón rất nhiều điểu mong đc mọi người chỉ giúp.

*đề bài như sau:*
cài đặt danh sách mảng, thực hiện các phép toán: thêm, xóa, đầy, rỗng, tìm.

ai biết, có thời gian chỉ dậy cho mình với nhé, mình còn kém môn này mong các bạn chỉ bảo tỉ mỉ cụ thể [img]data:image/png;base64,ivborw0kggoaaaansuheugaaaaeaaaabaqmaaaa  l21bkaaaaa1bmvexh5pjm+ykvaaaaaxrstlmaqobyzgaaaapjr  efucndjyaaaaaiaaeihvdmaaaaasuvork5cyii=[/img]
xin trân thành cảm ơn mọi người!:down:

----------


## Nam An Tam

sao ko có ai trả lời vậy, ko có ai có thể giúp mình đc sao :down: :bawling:

----------


## nuhoang

bạn nói rõ hơn xem nào, thêm,xóa có phải là thêm hoặc xóa phần tử hok
đầy rỗng lạ j` :-? còn tìm là xem thử 1 phần tử có trong mảng hay không phải không?

----------


## recvietnam316

đọc đề ko hỉu ren giúp đc.bạn chép đầy đủ đi

----------


## xamhinhnghethuat

trời đất mình đâu có chép thiếu đâu, đề bài cho là như vậy mà [img]data:image/png;base64,ivborw0kggoaaaansuheugaaaaeaaaabaqmaaaa  l21bkaaaaa1bmvexh5pjm+ykvaaaaaxrstlmaqobyzgaaaapjr  efucndjyaaaaaiaaeihvdmaaaaasuvork5cyii=[/img](
thêm với xóa các phần tử ấy mà, thêm vị trí nào, xóa vị trí nào :|
đầy với rỗng là xác định mảng đã đầy hay chưa, còn rỗng thì xác định vị trí trên mảng chỗ nào rỗng mà [img]data:image/png;base64,ivborw0kggoaaaansuheugaaaaeaaaabaqmaaaa  l21bkaaaaa1bmvexh5pjm+ykvaaaaaxrstlmaqobyzgaaaapjr  efucndjyaaaaaiaaeihvdmaaaaasuvork5cyii=[/img] gà quá có làm nổi đâu, viết trên pascal toàn thấy sai ah :down: ai đó giúp mình với :-s

----------


## langocthao

mảng j` bạn 1 chiều hay ma trận

----------


## anhngoctmy

bài toán trong mảng 1 chiều bạn ah [img]data:image/png;base64,ivborw0kggoaaaansuheugaaaaeaaaabaqmaaaa  l21bkaaaaa1bmvexh5pjm+ykvaaaaaxrstlmaqobyzgaaaapjr  efucndjyaaaaaiaaeihvdmaaaaasuvork5cyii=[/img]

----------


## kowalsky

bài chèn
var a,b:array[1..100] of integer;
n,x,y,i,j:integer;
begin
writeln('nhap n= '); readln(n);
for i:=1 to n do
begin
write('nhap a[',i,']= '); readln(a_);
end;
writeln('xuat mang: ');
for i:=1 to n do
write(a:5);
writeln;
writeln('nhap so muon chen: ');readln(x);
repeat
writeln('ban muon chen vi tri thu: ');readln(y);
until y<=n;

for i:=1 to y-1 do
b:=a;
b[y]:=x;
for i:=y+1 to n+1 do
b:=a[i-1];
writeln('xuat mang moi: ');
for i:=1 to n+1 do
write(b:5);
readln
end.
cái này mình dùng lưu vào mảng b  còn cách khác nhưng wên mất (nếu cô bạn bảo phải đưa vào mảng a thì thêm đoạn sau(từ chỗ b=a[i-1]):
for i:=1 to n+1 do
a:=b;
sau đó xuất mảng a  (phần sau thay b thành a);


bài xóa số đêy:

var a,b:array[1..100] of integer;
n,x,y,i,j:integer;
begin
writeln('nhap n= '); readln(n);
for i:=1 to n do
begin
write('nhap a[',i,']= '); readln(a);
end;
writeln('xuat mang: ');
for i:=1 to n do
write(a:5);
writeln;
repeat
writeln('ban muon xoa vi tri thu: ');readln(y);
until y<=n;

for i:=1 to y-1 do
b:=a;
for i:=y to n-1 do
b:=a[i+1];
writeln('xuat mang moi: ');
for i:=1 to n-1 do
write(b:5);
readln
end.

(tương tự như trên  )


bài tìm:

var a:array[1..100] of integer;
n,x,y,i,j:integer;
begin
writeln('nhap n= '); readln(n);
for i:=1 to n do
begin
write('nhap a[',i,']= '); readln(a);
end;
writeln('xuat mang: ');
for i:=1 to n do
write(a:5);
writeln;
writeln('nhap so muon tim ');readln(x);

for i:=1 to n do
if a=x then
begin
write('vi tri thu: ',i); writeln;
y:=y+1;
end;
if y=0 then writeln('khong co so ban can tim trong mang ');
readln
end.

p/s còn bài đầy với rỗng mình hok hỉu đề (bạn cho thêm 1 vài vd về nó nha)_

----------


## tienril

bạn post bài vô phần lập trình pascal nhé, ở đó nhiều người tham gia giải bài hơn là ở đây, bảo sao post mãi không ai trả lời.

----------


## kanhtran

bạn chỉ dùm minh mấy bài như sau được khôg ?
+ tính tổng các phần tử nằm dưới đường chéo chính của ma trận.
+ tính tổng các phần tử nằm trên biên của ma trận.
+ tính tổng các phần tử nằm trên đường chéo chính.
+ tính tổng các phần tử nằm trên đườn chéo phụ.

----------


## nguyenviet1008

> mình mới học pascal đc 2 tuần, trình độ còn rất non kém, cón rất nhiều điểu mong đc mọi người chỉ giúp.
> 
> *đề bài như sau:*
> cài đặt danh sách mảng, thực hiện các phép toán: thêm, xóa, đầy, rỗng, tìm.
> 
> ai biết, có thời gian chỉ dậy cho mình với nhé, mình còn kém môn này mong các bạn chỉ bảo tỉ mỉ cụ thể [img]data:image/png;base64,ivborw0kggoaaaansuheugaaaaeaaaabaqmaaaa  l21bkaaaaa1bmvexh5pjm+ykvaaaaaxrstlmaqobyzgaaaapjr  efucndjyaaaaaiaaeihvdmaaaaasuvork5cyii=[/img]
> xin trân thành cảm ơn mọi người!:down:


cái này mảng thôi hay là con trỏ động vậy bạn. nếu dùng con trỏ thì việc thêm xoá sẽ đơn giản và nhanh (đối với máy) hơn với mảng. nhưng lần đầu tiên mình thấy có kiểm tra đầy, rỗng cho mảng. nếu đầu tiên bạn giới hạn số phần tử cho mảng thì điều đó là khả thi. bạn chỉ cần tạo thêm 1 biến đếm phần tử. rồi mỗi khi thực hiện thao tác thêm hoặc xoá thì sẽ cập nhật lại biến đó.khi cần kiểm tra, bạn chỉ cần so sánh giá trị biến đó với giới hạn số phần tử của mảng bạn đưa ra ban đầu là được.

----------

