PDA

View Full Version : [New bie] Hỏi đáp vài vấn đề về pascal 11



s2demon
24-03-2013, 10:24
Mình mới học pascal 11, cũng tương đối :D
Đang làm bài tập nhưng có vài bài hơi khó
Mong ACE giải đáp giúp thuật toán :)

3. Cho 2 dãy số nguyên A = (a1, a2,…an) và B =(b1,b2,…bn). Dãy C =(c1,c2,..,c2n) được xác định như sau:
Ci ak với i =2k-1
Ci = bk với i =2k (k=1…n)
Hãy lập trình
a. nhập vào từ bàn phím số nguyên dương N (n<=20), dãy số nguyên A, B
b. Tạo và đưa ra màn hình dãy C

4. Cho hai dãy số nguyên A = (a1, a2,…an) và B =(b1,b2,…bn). các phần tử của mỗi dãy được sắp xếp theo thứ tự không giảm. Hãy hoà 2 dãy A, B thành dãy không giảm C =(c1,c2,..,c2n)

nguyenvannam1510
04-05-2013, 11:33
Mình mới học pascal 11, cũng tương đối :D
Đang làm bài tập nhưng có vài bài hơi khó
Mong ACE giải đáp giúp thuật toán :)

3. Cho 2 dãy số nguyên A = (a1, a2,…an) và B =(b1,b2,…bn). Dãy C =(c1,c2,..,c2n) được xác định như sau:
Ci ak với i =2k-1
Ci = bk với i =2k (k=1…n)
Hãy lập trình
a. nhập vào từ bàn phím số nguyên dương N (n<=20), dãy số nguyên A, B
b. Tạo và đưa ra màn hình dãy C

4. Cho hai dãy số nguyên A = (a1, a2,…an) và B =(b1,b2,…bn). các phần tử của mỗi dãy được sắp xếp theo thứ tự không giảm. Hãy hoà 2 dãy A, B thành dãy không giảm C =(c1,c2,..,c2n)

Bài 3:


for k:=1 to n do
begin
c[2*k-1] := a[k]
c[2*k] := b[k]
end;

hao0091998
03-07-2013, 20:52
mình không tạo mảng C mà mình xuất thẳng ra màn hình luôn bạn nhé
uses crt;
var N,M,i,j,k:longint;
A,B:array[1..100]of longint;
begin
clrscr;
write('nhap gioi han day A:'); readln(N);
for i:=1 to N DO
BEGIN
write('nhap A[i]: ');
readln(A[i]);
end;
write('nhap gioi han day B:'); readln(M);
for i:=1 to M do
begin
write('nhap B[i]: ');
readln(B[i]);
end;
i:=1; j:=1;
while (i<=N) and (j<=M) do
if A[i]<B[j] then
begin
write(A[i],' ');
i:=i+1;
end else
begin
write(B[j],' ');
j:=j+1;
end;
if i<=N then
for k:=i to N do write(A[k],' ');
if j<=M then
for k:=j to M do write(B[k],' ');
readln;
end.