Hiển thị kết quả từ 1 đến 3 / 3
  1. #1
    Tham gia
    28-11-2011
    Bài viết
    1
    Like
    0
    Thanked 0 Times in 0 Posts

    Giúp mik sửa lỗi bài pascal này với___help

    Bài tập :Viết chương trình đếm số từ có trong một file văn bản.
    Code:
    var f: text;
        fn: string;
        kt: boolean;
        c: char;
        d: integer;
    
    function count(fn: string): integer;
    begin
     assign(F,fn);
     reset(F);
     d:=0;
     kt:=false;
     while not eof(f) do
     begin
      read(F,c);
      if c>#32 then
       kt:=true;
      if (c<#33)and(kt=true) then
      begin
       d:=d+1;
       kt:=false;
      end;
     end;
     if c>#32 then d:=d+1;
     count:=d;
    end;
    
    begin
     write('nhap ten file: ');
     readln(fn);
     write(count(fn));
     readln;
    end.
    ai sửa giùm mik với...
    Quote Quote

  2. #2
    Tham gia
    05-08-2010
    Bài viết
    313
    Like
    9
    Thanked 73 Times in 69 Posts
    Chương trình của bạn sai chỗ nào thế, mình chạy thử ra đúng mà

  3. #3
    Tham gia
    23-06-2009
    Location
    Huyện Gia Bình - Tỉnh Bắc Ninh
    Bài viết
    323
    Like
    0
    Thanked 4 Times in 4 Posts
    Trông cách làm của bạn phức tạp thế, mình nghĩ đếm số từ thì đơn giản, cộng thêm dấu cách vào cuối xâu rồi kiểm tra từ đầu xâu đến cuối xâu, nếu S[i]<>' ' và S[i+1]=' ' thì tăng đếm.

    Var S:string;
    i,dem:integer;
    f1:text;
    Begin
    assign(f1,'Vao.int');
    reset(f1);
    dem:=0;
    While not eof(f1) do
    Begin
    Readln(f1,S);
    S:=S+' ';
    For i:=1 to length(S) do
    If (S[i]<>' ') and (S[i+1]=' ') then inc(dem);
    End;
    write('So tu trong file la:',dem);
    close(f1);
    Readln
    End.

Bookmarks

Quy định

  • Bạn không thể tạo chủ đề mới
  • Bạn không thể trả lời bài viết
  • Bạn không thể gửi file đính kèm
  • Bạn không thể sửa bài viết của mình
  •