Read-only archive. Login and posting are unavailable.
View Full Version : Nhờ anh em giúp 1 bài về lập trình pascal,gấp lắm ạ ^^
nguyengoctu
03-05-2010, 09:17
giả sử có 1 vòng lặp như sau
for i:=1 to m do
for j:=1 to n do
begin
.....
end;
...
làm thế nào để chuyển vòng lặp đôi đó thành thủ tục đệ quy???
cảm ơn anh em :)
//cái ddth vắng tanh, post cả ngày rồi mà ko có ai reply,ae thông cảm :)
Nói chung là bài tập này hơi nhảm.
Ko biết pascal, viết bằng C
for_i(1);
void for_i(int i)
{
if (i <= m)
{
for_j(1);
for_i(i + 1);
}
}
void for_j(int j)
{
if (j <= n)
{
....
....
for_j(j + 1);
}
}
nguyengoctu
03-05-2010, 09:37
Nói chung là bài tập này hơi nhảm.
Ko biết pascal, viết bằng C
for_i(1);
void for_i(int i)
{
if (i <= m)
{
for_j(1);
for_i(i + 1);
}
}
void for_j(int j)
{
if (j <= n)
{
....
....
for_j(j + 1);
}
}
có thể đưa về 1 thủ tục đc ko ạ :surrender:
up:-s
Thì bỏ 1 vòng for ra thôi.
Ví dụ
for (int i = 1 to m)
for_j(1);
void for_j(int j)
{
if (j <= n)
{
....
....
for_j(j + 1);
}
}
nguyengoctu
03-05-2010, 09:49
Thì bỏ 1 vòng for ra thôi.
Ví dụ
for (int i = 1 to m)
for_j(1);
void for_j(int j)
{
if (j <= n)
{
....
....
for_j(j + 1);
}
}
ngon rồi, thank bác :beauty:
Thế này dc ko?
procedure for_ij(i,j:interger)
begin
....
if i<=m then
begin
if j<=n then for_ij(i,j+1);
end;
else for_ij(i+1,1);
end;
gọi for_ij(1,1)
vBulletin® v3.8.0, Copyright ©2000-2026, Jelsoft Enterprises Ltd.