Trang chủ Tin Học Lớp 8 Sắp xếp xâu Người ta định nghĩa: Từ là một...

Sắp xếp xâu Người ta định nghĩa: Từ là một nhóm ký tự đứng liền nhau. Cho một xâu St gồm các ký tự lấy từ tập ‘a’ .. ‘z’ và dấu cách. Xâu không quá 20 từ, mỗi

Câu hỏi :

Sắp xếp xâu Người ta định nghĩa: Từ là một nhóm ký tự đứng liền nhau. Cho một xâu St gồm các ký tự lấy từ tập ‘a’ .. ‘z’ và dấu cách. Xâu không quá 20 từ, mỗi từ dài không quá 10 ký tự. Yêu cầu: Sắp xếp các từ của xâu ký tự theo thứ tự không giảm của độ dài các từ trong xâu St. Dữ liệu vào: Cho trong file văn bản SAPXAU.INP, có cấu trúc: - Dòng 1: Ghi một xâu ký tự St (có ít nhất 1 từ). Dữ liệu ra: Ghi ra file văn bản SAPXAU.OUT, theo cấu trúc: - Dòng 1: Ghi các từ của xâu ký tự sau khi được sắp xếp. Các từ được ghi cách nhau đúng một dấu cách. Ví dụ: SAPXAU.INP SAPXAU.OUT acb abcde abcd abc acb abc abcd abcde

Lời giải 1 :

const fi='SAPXAU.INP';
      fo='SAPXAU.OUT';
var st,t:string;
    i,n,j:byte;
    s:array[0..30] of string;
    f1,f2:text;
begin
    assign(f1,fi);reset(f1);
    assign(f2,fo);rewrite(f2);
    readln(f1,st);
    st:=st+' ';
    n:=0;
    while pos(' ',st)<>0 do
        begin
            inc(n);
            s[n]:=copy(st,1,pos(' ',st)-1);
            delete(st,1,pos(' ',st));
        end;
    for i:=1 to n-1 do
        for j:=i+1 to n do
            if length(s[i])>length(s[j]) then
               begin
                   t:=s[i];s[i]:=s[j];s[j]:=t;
               end;
    for i:=1 to n do write(f2,s[i],' ');
    close(f1);close(f2);
end.

Thảo luận

Lời giải 2 :

program bai_giai;
var f,g:text;
    xau:array[1..20] of string;
    st:string;
    i,j,k:byte;
begin
    Assign(f,'SAPXAU.INP');  reset(f);
    Assign(g,'SAPXAU.OUT');  rewrite(g);
    readln(f,st);
    k:=1;       xau[1]:='';
    for i:=1 to length(st) do
        if st[i]<>' ' then xau[k]:=xau[k]+st[i]
        else if st[i+1]<>' ' then
            begin
                k:=k+1; xau[k]:='';
            end;
    for i:=1 to k-1 do
        for j:=i+1 to k do
            if length(xau[i])>length(xau[j]) then
                begin
                    st:=xau[i]; xau[i]:=xau[j]; xau[j]:=st;
                end;
    for i:=1 to k do write(g,xau[i],' ');
    close(f); close(g);
end.

Bạn có biết?

Tin học, tiếng Anh: informatics, tiếng Pháp: informatique, là một ngành khoa học chuyên nghiên cứu quá trình tự động hóa việc tổ chức, lưu trữ, xử lý và truyền dẫn thông tin của một hệ thống máy tính cụ thể hoặc trừu tượng (ảo). Với cách hiểu hiện nay, tin học bao hàm tất cả các nghiên cứu và kỹ thuật có liên quan đến việc mô phỏng, biến đổi và tái tạo thông tin.

Nguồn : Wikipedia - Bách khoa toàn thư

Tâm sự 8

Lớp 8 - Năm thứ ba ở cấp trung học cơ sở, học tập bắt đầu nặng dần, sang năm lại là năm cuối cấp áp lực lớn dần nhưng các em vẫn phải chú ý sức khỏe nhé!

Nguồn : ADMIN :))

Liên hệ hợp tác hoặc quảng cáo: gmail

Điều khoản dịch vụ

Copyright © 2021 HOCTAPSGK