Ai giúp mình sửa bài pascal này với!!

7 views
Skip to first unread message

thient...@yahoo.com.vn

unread,
Jun 2, 2012, 5:01:55 AM6/2/12
to sptink44
Đề bài: Nhập vào 1 xâu s và in ra các từ của nó ( Từ là một dãy các kí
tự, cách nhau bởi dấu cách). Xâu có bao nhiêu từ đối xứng?
uses crt;
var s:string;
function kt_dx(x:string):boolean;
var
i:integer;
begin
kt_dx:=true;
for i:=1 to (length(s) div 2) do
if s[i]<>s[length(s)-i+1] then
begin
kt_dx:=false;
break;
end;
end;
procedure tach;
var i,n,dem:integer;
t:string;
begin
dem:=0;
writeln('cac ki tu trong xau la:');
i:=1;n:=length(s);
repeat
while(s[i]=' ') and(i<=n) do i:=i+1;
t:=' ';
while (s[i]<>' ') and(i<=n) do
begin
t:=t+s[i];
i:=i+1;
end;
begin
writeln(t);
if kt_dx(t) then dem:=dem+1;
end;
until(i>=n);
writeln('so tu dx la:',dem);
end;
begin
clrscr;
write('nhap xau:');readln(s);
tach;
readln
end.

Ha Tran Ngoc

unread,
Jun 2, 2012, 5:34:14 AM6/2/12
to spti...@googlegroups.com
Baì của em chỉ sai trong phần kiểm tra từ đối xứng, có 2 lỗi sai, thứ nhất hàm kiểm tra đối xứng em dùng tham số là x trong khi lại kiểm tra trên sâu s do vậy phải thay lại. Thứ 2 trong thủ tục tách t gán bằng '' còn của em là t:=' ' có dấu cách là sai.




--
Trần Ngọc Hà
Khoa Toán - Đại học Sư phạm Thái Nguyên
mobile: 0983168400
website: http://vhv.vn, http://vivui.net

Reply all
Reply to author
Forward
0 new messages