Các bài tập Pascal cơ bản
#1
Đăng 18 August 2007 - 02:43 PM
www.freewebs.com/h111111/nghia.rar
#2
Đăng 18 August 2007 - 11:32 PM
Anh thành 45B đây
#3
Đăng 19 August 2007 - 12:05 AM
còn bài ma trận chuyển vị em không cần phải khai báo thêm 1 mảng nữa làm gì. em chỉ cần khai báo thêm 1 biến trung gian và duyệt mảng đổi chỗ là ok. giống thuật toán quay 90 độ trong xử lý ảnh đó, nhưng mà nhớ khi đổi xong thi cung nhớ là đổi luôn chỉ số hàng và cột luôn
còn về bài toán đảo dãy thì thuật toán em đã sai vi em thử sử dụng lệnh in ra ở ngoài Begin và em xem, lúc đó thì mảng của em đã không bị đảo mà vẫn giữ nguyên, vì ở vòng đảo em cho biến i chạy từ 1 đến n. mà thuật toán đảo mảng thì i chỉ chạy từ 1 đến n div 2 mà thôi
hì mới xem đến đó thui
#4
Đăng 19 August 2007 - 09:12 PM
Hom sau se co ban tot hon
Sory, ban nay viet hon 1 nam roi khong dung lai
#5
Đăng 23 May 2008 - 11:03 PM
#6 Guest_tuthangirl_*
Đăng 31 October 2008 - 07:36 PM
#7
Đăng 03 November 2008 - 01:00 PM
#8 Guest_tuthangirl_*
Đăng 07 November 2008 - 09:18 AM
#9 Guest_nvtrung2008_*
Đăng 07 November 2008 - 05:35 PM
http://www.mediafire.com/?t4zpmnfb9m1
chúc vui
#10 Guest_nvtrung2008_*
Đăng 07 November 2008 - 05:42 PM
http://www.mediafire.com/?ngdyj2cjscx
#11 Guest_tuthangirl_*
Đăng 08 November 2008 - 08:32 AM
#12
Đăng 12 November 2008 - 08:26 PM
day la linhk tieng viet ne e coi coi
co gi ko hieu thi post le a noi dum cho
#13 Guest_tuthangirl_*
Đăng 13 November 2008 - 08:17 AM
#14 Guest_tuthangirl_*
Đăng 15 November 2008 - 08:15 PM
a)Xoá đi tất cả các kí tự trùng lặp trong xâu.
vd 12732235 a)157 b)12357
bài làm của em nè
em chỉ viết đoạn chương trình chính thui
a) n:=length(s);
for i:=1 to n-1 do
begin j:=j+1;d:=0
while j<=n do
if s=s[j] then begin delete(s,j,1); d:=d+1
else j:=j+1;
[i]if d<>0 then delete(s,i,1);end;
Những chỗ em ghi nghieng là ở câu b em bỏ thầy chạy dùm em chương trình,vừa rui em chạy sai mất tiêu rùi,do tại trong xâu khi mình xoá thì những vị trí tiếp theo cứ thía dốn lên,nên em hok bik em viết chương trinh đúng hok nữa
#15
Đăng 15 November 2008 - 09:21 PM
bài em post lên không chay được
program vidu;
uses crt;
var s: string[80];
i,j,n:integer;
d: char;
begin
clrscr;
write(' nhap sau s: '); readln(s);
{ xoa phan tu gioang nhau}
n:=length(s);
for i:=1 to n-1 do
begin
j:=i+1;
while j<=n do
begin
if s[i]=s[j] then delete(s,j,1);
j:=j+1;
end;
end;
writeln('xau s',s:3);
{xap xep}
for i:=1 to n-1 do
for j:=i+1 to n do
if s[i] > s[j]then
begin
d:=s[i];
s[i]:=s[j];
s[j]:=d;
end;
writeln('xau s',s:3);
readln;
end.
#16
Đăng 15 November 2008 - 09:22 PM
bài em post lên không chay được
program vidu;
uses crt;
var s: string[80];
i,j,n:integer;
d: char;
begin
clrscr;
write(' nhap sau s: '); readln(s);
{ xoa phan tu gioang nhau}
n:=length(s);
for i:=1 to n-1 do
begin
j:=i+1;
while j<=n do
begin
if s[i]=s[j] then delete(s,j,1);
j:=j+1;
end;
end;
writeln('xau s',s:3);
{xap xep}
for i:=1 to n-1 do
for j:=i+1 to n do
if s[i] > s[j]then
begin
d:=s[i];
s[i]:=s[j];
s[j]:=d;
end;
writeln('xau s',s:3);
readln;
end.
#17
Đăng 15 November 2008 - 09:26 PM
uses crt;
var s: string[80];
i,j,n:integer;
d: char;
begin
clrscr;
write(' nhap sau s: '); readln(s);
{ xoa phan tu gioang nhau}
n:=length(s);
for i:=1 to n-1 do
begin
j:=i+1;
while j<=n do
begin
if s[i]=s[j] then delete(s,j,1);
j:=j+1;
end;
end;
writeln('xau s',s:3);
{xap xep}
for i:=1 to n-1 do
for j:=i+1 to n do
if s[i] > s[j]then
begin
d:=s[i];
s[i]:=s[j];
s[j]:=d;
end;
writeln('xau s',s:3);
readln;
end.
trên đây là bài anh sủa lại cho em
bài của em ko chay dc
#18 Guest_tuthangirl_*
Đăng 15 November 2008 - 10:24 PM
em nói thế này hok bik đúng hok nhưng nếu làm như anh thì khi mình xoá s[j] rồi thì giá trị cúa s[j+1] sẽ được đổi về vị trí "j" như vậy thì mình sẽ không so sánh được với s[j+1] ,nếu có thể anh hãy chạy thử chương trình với dãy này được hok 122345344
em nói vậy hok bik đúng hay sai nhưng em chỉ đưa thắc mắc của e ra,nếu sai thì anh sửa cho e nha,em cảm ơn anh nhìu
#19
Đăng 16 November 2008 - 12:49 PM
sau khi xóa xong ta duyệt từ vị trí thứ j=i+1 đến hết xâu với độ dài giảm đi
vi du : s= 4544
ban dau do dai là 4
voi j=i+1;
vong 1:
b1 lay đọ dai xau m= length(s)
b2:trong khi j<m thi
so sánh s[i], s[j]
nêu s[i]= s[j] xóa ký tụ vị trí
quay lai buoc 1
nêu s[i]<> s[j] tu tang j
sau khi lam het vong j tang i
program vidu;
uses crt;
label tt;
var s: string[80];
i,j,n,m:integer;
d: char;
begin
clrscr;
write(' nhap sau s: '); readln(s);
{ xoa phan tu giong nhau}
n:=length(s);
for i:=1to n do
begin
tt:
m:=length(s);
{moi lam xoa xong ta duyet lai tu dau }
for j:=i+1 to m do
if s[i]=s[j] then
begin
delete(s,j,1) ;
goto tt;
end;
end;
writeln('chuan hoa s',s:3);
{xap xep}
n:=length(s);
for i:=1 to n-1 do
for j:=i+1 to n do
if s[i] > s[j]then
begin
d:=s[i];
s[i]:=s[j];
s[j]:=d;
end;
writeln('xau s',s:3);
readln;
end.
#20 Guest_tuthangirl_*
Đăng 04 December 2008 - 08:25 AM
nhân 2 đa thức(e đang học bản ghi)
cô em cho công thức thế này
for i:=1 to p1.bac do
for j:=i+1 to p2.bac do
p.a[i+j]:=p.a[i+j]+p1.a[i]+p2.a[j];(p1 là biểu thức 1,p2 là biểu thức 2,p là biểu thức kết quả)
em hok hiểu công thức này lắm,nhưng mà khi bạn em chạy thử chương trình máy cho kết quả đúng,anh chị có thể giải thik cho em hok,giúp em với em cảm ơn nhìu lắm
1 thành viên đang đọc chủ đề này
0 thành viên 1 khách 0 thành viên vô danh

Home
Forums
Members
Xem nội dung mới
Open Quick Navigation
Your Link
Your Link
Your Link
Your Link
Your Link





