Tìm Từ Dài Nhất Trong Xâu

Đề bài: Nhập vào một xâu s và tìm ra từ dài nhất trong xâu. Nếu có nhiều từ dài bằng nhau thì xuất tất cả các từ đó ra.

Ví dụ: Nhap s: ha NOI NOI ha

tu dai nhat:

NOI

NOI

Ý tưởng

  • Sau khi nhập xâu xong chúng ta tìm độ dài max của các từ trong xâu s.
  • Sau khi có max . Ta duyệt trong xâu s những từ nào có độ dài bằng max thì xuất ra màn hình.

Video hướng dẫn: Bước 1: Nhập xâu

write('Nhap s:'); Readln(s);

Bước 2: Tìm độ dài của từ dài nhất.

Ta duyệt từ đầu xâu tới cuối.

Nếu s[i] nào khác ‘ ‘  sẻ tăng biến dem lên 1 đơn vị.

Xét s[i+1] =’ ‘ or i=length(s) nếu thỏa ta so sánh dem với max.

Nếu dem >=max thì ta gán dem cho max.

gán biến dem về 0;

for i:=1 to length(s) do Begin if s[i]<>' ' then inc(dem); if (s[i+1]=' ') or (i=length(s)) then Begin max:=dem; dem:=0; End Else dem:=0; End;

Bước 3: Xuất từ dài nhất

Ý tưởng như bước 2 nhưng ta không so sánh với dem >= max mà ta so sánh dem=max hay không?

Nếu bằng thì ta xuất từ đang đếm ra.

dem := 0; for i:=1 to length(s) do Begin if s[i]<>' ' then inc(dem); if (s[i+1]=' ') or (i=length(s)) then begin if max=dem then begin for k:=i-max+1 to i do write(s[k]); writeln; end; dem := 0; end; end;

Download Code: timtudainhat.pas

Chia sẻ:

  • Twitter
  • Facebook
Thích Đang tải…

Từ khóa » Tìm Từ Có độ Dài Lớn Nhất Trong Xâu Pascal