Tạo xâu mới bằng cách đảo thứ tự các từ

T

tuyetphuongnam_1997

[TẶNG BẠN] TRỌN BỘ Bí kíp học tốt 08 môn
Chắc suất Đại học top - Giữ chỗ ngay!!

ĐĂNG BÀI NGAY để cùng trao đổi với các thành viên siêu nhiệt tình & dễ thương trên diễn đàn.

Cho đề bài: Viết chương trình nhập vào một xâu kí tự. Tạo xâu mới bằng cách đảo thứ tự các từ trong xâu đã nhập.
Ví dụ: truong hoc
xâu mới: hoc truong
Mình đã viết một chương trình nhưng ko biết có đúng ko. Các ban kiểm tra giúp mình với.

var x1, x2, tu: string; i:integer;
begin
write('nhap xau ki tu: ');readln(x1);
i:=1; x2:='';
while <=length(x1) do
begin
tu:='';
while x1 <> ' ' do
begin
tu:=tu+x1;
i:=i+1;
end;
x2:=tu + x2;
i:=i+1;
end;
writeln('Xau moi : ',x2);
readln
end.
 
O

o0_zz_0o

Cho đề bài: Viết chương trình nhập vào một xâu kí tự. Tạo xâu mới bằng cách đảo thứ tự các từ trong xâu đã nhập.
Ví dụ: truong hoc
xâu mới: hoc truong

Em vẫn chưa hiểu rõ đề
-Số từ trong xâu chỉ có 2 từ như ví dụ hay số lượng bất kì ?
-Nếu nhiều hơn 2 từ thì chỉ đạo ngược lại chuỗi hay đảo vị trí bất kì từ nào trong chuỗi và in ra tất cả các trường hợp ?
 
T

tuyetphuongnam_1997

Số từ trong xâu bất kì
Vd: le hong phong => phong hong le
aaa bbb ccc ddd => ddd ccc bbb aaa
 
N

nguyenhungtu9x

Ok! mình đã phải thức đến khuya để làm bài này! mới đầu cứ tưởng đơn gian nhưng làm thì mới thấy lâu! mình sử dụng chương trình con. Đây là chương trình của mình:
[FONT=.VnTime][/FONT]
[FONT=.VnTime]PROGRAM DAOXAU;[/FONT]
[FONT=.VnTime]USES crt;[/FONT]
[FONT=.VnTime]VAR s,s1: string; [/FONT]
[FONT=.VnTime] i,j,n: word;[/FONT]
[FONT=.VnTime] khoangtrangdau,khoangtrangcuoi,sokhoangtrang: array[1..256] of word;[/FONT]
[FONT=.VnTime]Procedure nhap;[/FONT]
[FONT=.VnTime] Begin[/FONT]
[FONT=.VnTime] while pos(' ',s)= 0 do[/FONT]
[FONT=.VnTime] begin[/FONT]
[FONT=.VnTime] write('Nhap xau co it nhat mot dau cach: '); readln(s);[/FONT]
[FONT=.VnTime] end;[/FONT]
[FONT=.VnTime] End;[/FONT]
[FONT=.VnTime]Procedure timvungkhoangtrang;[/FONT]
[FONT=.VnTime] Begin[/FONT]
[FONT=.VnTime] {tim so vung khoang trang "n" gioi han boi khoangtrangdau va khoangtrangcuoi, tim so dau cach giua vung khoang trang do}[/FONT]
[FONT=.VnTime] n:=0; i:=1;[/FONT]
[FONT=.VnTime] repeat[/FONT]
[FONT=.VnTime] if s = ' ' then[/FONT]
[FONT=.VnTime] begin [/FONT]
[FONT=.VnTime] inc(n); [/FONT]
[FONT=.VnTime] khoangtrangdau[n]:= i;[/FONT]
[FONT=.VnTime] while s[i+1] = ' ' do inc(i);[/FONT]
[FONT=.VnTime] khoangtrangcuoi[n]:=i;[/FONT]
[FONT=.VnTime] sokhoangtrang[n]:= i- khoangtrangdau[n] +1;[/FONT]
[FONT=.VnTime] end;[/FONT]
[FONT=.VnTime] inc(i);[/FONT]
[FONT=.VnTime] until i> length(s);[/FONT]
[FONT=.VnTime] End;[/FONT]
[FONT=.VnTime]Procedure sapxeptu;[/FONT]
[FONT=.VnTime] Begin[/FONT]
[FONT=.VnTime] {sap xep tu va tim vi tri cuoi cua tu} [/FONT]
[FONT=.VnTime] i:=n; s1:='';[/FONT]
[FONT=.VnTime] {xet tu cuoi cung cua xau s: neu khong phai dau cach o vi tri cuoi cung thi thuc hien}[/FONT]
[FONT=.VnTime] if s[length(s)]<>' ' then[/FONT]
[FONT=.VnTime] begin [/FONT]
[FONT=.VnTime] s1:= copy(s,khoangtrangcuoi[n]+1,length(s)-khoangtrangcuoi[n]);[/FONT]
[FONT=.VnTime] for j:= 1 to sokhoangtrang[1] do s1:= s1+' ';[/FONT]
[FONT=.VnTime] end;[/FONT]
[FONT=.VnTime] {xet cac tu o vi tri giua xau s va dien khoang trang giua cac tu trong xau s1 cho phu hop}[/FONT]
[FONT=.VnTime] repeat[/FONT]
[FONT=.VnTime] if i>1 then[/FONT]
[FONT=.VnTime] begin[/FONT]
[FONT=.VnTime] s1:= s1+copy(s,khoangtrangcuoi[i-1]+1,khoangtrangdau-khoangtrangcuoi[i-1]-1);[/FONT]
[FONT=.VnTime] dec(i);[/FONT]
[FONT=.VnTime] for j:= 1 to sokhoangtrang[n-i+1] do s1:= s1+' ';[/FONT]
[FONT=.VnTime] end;[/FONT]
[FONT=.VnTime] until i<2;[/FONT]
[FONT=.VnTime] {xet tu dau tien cua xau s}[/FONT]
[FONT=.VnTime] if s[1]<>' ' then s1:=s1+ copy(s,1,khoangtrangdau[1]-1);[/FONT]
[FONT=.VnTime] End;[/FONT]
[FONT=.VnTime]Procedure xuat;[/FONT]
[FONT=.VnTime] Begin[/FONT]
[FONT=.VnTime] writeln(' xau sap xep lai la: ',s1);[/FONT]
[FONT=.VnTime] End;[/FONT]
[FONT=.VnTime]BEGIN[/FONT]
[FONT=.VnTime] clrscr;[/FONT]
[FONT=.VnTime] nhap;[/FONT]
[FONT=.VnTime] timvungkhoangtrang;[/FONT]
[FONT=.VnTime] sapxeptu;[/FONT]
[FONT=.VnTime] xuat;[/FONT]
[FONT=.VnTime] readln[/FONT]
[FONT=.VnTime]END.[/FONT]
[FONT=.VnTime] (nhớ thank mình nha!!!)[/FONT]
 
Top Bottom