Từ 1 tới 7 trên tổng số 7 kết quả

Đề tài: Lỗi bị in dữ liệu ra hai lần trong bài tập kiểu FILE

  1. #1
    Ngày gia nhập
    08 2011
    Nơi ở
    hà nội
    Bài viết
    16

    Mặc định Lỗi bị in dữ liệu ra hai lần trong bài tập kiểu FILE

    C Code:
    1. #include <stdio.h>
    2. #include <math.h>
    3. #include <conio.h>
    4.  
    5. int ngto(int n)
    6. {
    7.     int nt=1;
    8.     for (int i=2; i<=sqrt(n); i++)
    9.       if (n%i==0)
    10.             {
    11.                  nt=0;
    12.                  break;
    13.             }
    14.     if (nt==1) return 1;
    15.     return 0;
    16. }
    17. int chphuong(int n)
    18. {
    19.     if(floor(sqrt(n))*floor(sqrt(n))==n) return 1;
    20.     return 0;
    21. }
    22. int sodep(int n)
    23. {
    24.     int b[100];
    25.     int dem=0;
    26.     for (int i=0; i<n; i++)
    27.     {
    28.         b[i]=n%10;
    29.         n=n/10;
    30.         dem++;
    31.     }
    32.     for( int i=0; i<dem; i++)
    33.          if ((dem>3||dem==3)&&(b[i]-b[i+1]==b[i+1]-b[i+2])) return 1;
    34.          return 0;
    35. }
    36.  
    37. int main()
    38. {
    39.     FILE *f1,*f2,*f3,*f4;
    40.     int n,a[100],b[100];
    41.     f1=fopen("songuyen.txt","r");
    42.     f2=fopen("nguyento.txt","w");
    43.     f3=fopen("chinhphuong.txt","w");
    44.     f4=fopen("sodep.txt","w");
    45.     if (f1!=NULL && f2!=NULL && f3!=NULL&& f4!=NULL)
    46.     { while(!feof(f1))          
    47.     {
    48.                      fscanf(f1,"%d",&n);
    49.                      fflush(stdin);
    50.                      for (int i=0;i<n;i++)
    51.                      {
    52.                         fscanf(f1,"%d",&a[i]);
    53.                         if (ngto(a[i])==1) fprintf(f2,"%d\t",a[i]);
    54.                         if (chphuong(a[i]))  fprintf(f3,"%d\t",a[i]);
    55.                         if (sodep(a[i])) fprintf(f4,"%d\t",a[i]);
    56.                      }
    57.      }
    58.      fclose(f1);
    59.      fclose(f2);
    60.      fclose(f3);
    61.      fclose(f4);
    62.     }
    63. }


    kết quả bị in ra hai lần.và hàm kiểm tra số đẹp đưa ra chưa đủ
    Đã được chỉnh sửa lần cuối bởi kitti : 27-12-2011 lúc 04:47 PM. Lý do: đưa code vào tag code

  2. #2
    Ngày gia nhập
    08 2010
    Nơi ở
    Moscow, Russia Federation
    Bài viết
    913

    Mình chỉ nghe thấy "gái đẹp" chứ "số đẹp" thì chưa nghe bao giờ. Chắc bạn ngụ ý "perfect number" - "số hoàn hảo"?. Cho code vào thẻ cho dễ nhìn chút, khó nhìn quá!
    Cấu trúc file "songuyen.txt" của bạn như thế nào? Dòng đầu ghi gì? Tiếp theo ghi cái gì?
    Mời các bạn ghé thăm blog cá nhân của tôi

  3. #3
    Ngày gia nhập
    08 2011
    Nơi ở
    hà nội
    Bài viết
    16

    Trích dẫn Nguyên bản được gửi bởi mp121209 Xem bài viết
    Mình chỉ nghe thấy "gái đẹp" chứ "số đẹp" thì chưa nghe bao giờ. Chắc bạn ngụ ý "perfect number" - "số hoàn hảo"?. Cho code vào thẻ cho dễ nhìn chút, khó nhìn quá!
    Cấu trúc file "songuyen.txt" của bạn như thế nào? Dòng đầu ghi gì? Tiếp theo ghi cái gì?
    hjx.dòng đầu e ghi số dương n. dòng thứ 2 ghi n số dương

    vd như 123,134.. là số đẹp ạ!
    Đã được chỉnh sửa lần cuối bởi kitti : 27-12-2011 lúc 04:46 PM. Lý do: làm liền các bài viết spam

  4. #4
    Ngày gia nhập
    08 2010
    Nơi ở
    Moscow, Russia Federation
    Bài viết
    913

    Em thử test xem hàm kiểm tra số đẹp của em đã hoạt động đúng hay chưa?
    Mời các bạn ghé thăm blog cá nhân của tôi

  5. #5
    Ngày gia nhập
    04 2008
    Nơi ở
    Bốn bề là nhà
    Bài viết
    703

    Chắc chắn số đẹp không phải là perfect number đâu. Mà tui ngó qua thuật toán của chủ thớt cũng sai rồi. Xem lại

  6. #6
    Ngày gia nhập
    02 2011
    Nơi ở
    Thủ Đức
    Bài viết
    18

    Mặc định Lỗi bị in dữ liệu ra hai lần trong bài tập kiểu FILE

    C++ Code:
    1. // Test.cpp : Defines the entry point for the console application.
    2. //
    3.  
    4. #include "stdafx.h"  
    5. #include <stdio.h>
    6. #include <math.h>
    7. #include <conio.h>
    8.  
    9. //---------------------------------
    10. int ngto(int n)
    11. {
    12.     int nt = 1;
    13.  
    14.     for (int i=2; i <= sqrt((float)n); i++)
    15.     {
    16.         if (n%i==0)
    17.         {
    18.             nt=0;
    19.             break;
    20.         }
    21.     }
    22.  
    23.     return (nt == 1 && n != 1);
    24. }
    25.  
    26. //-----------------------------------
    27. int chphuong(int n)
    28. {
    29.     return ( floor(sqrt((float)n)) * floor(sqrt((float)n)) == n);
    30. }
    31.  
    32. //------------------------------------
    33. int sodep(int n)
    34. {
    35.     int b[100];  // Khong duoc khoi tao gia tri
    36.     int dem=0;
    37.  
    38.     for (int i=0; i<n; i++)
    39.     {
    40.         b[i]=n%10;
    41.         n=n/10;
    42.         dem++;
    43.     }
    44.  
    45.     for( int i=0; i<dem; i++)
    46.         if ((dem>3||dem==3)&&(b[i]-b[i+1]==b[i+1]-b[i+2])) return 1;
    47.     return 0;
    48. }
    49.  
    50. //-------------------------------------
    51. int _tmain(int argc, _TCHAR* argv[])
    52. {
    53.     FILE *f1,*f2,*f3,*f4;
    54.     int n, a[100], b[100];
    55.  
    56.     f1=fopen("songuyen.txt","rt");
    57.     f2=fopen("nguyento.txt","wt");
    58.     f3=fopen("chinhphuong.txt","wt");
    59.     f4=fopen("sodep.txt","wt");
    60.  
    61.     if (f1!=NULL && f2!=NULL && f3!=NULL&& f4!=NULL)
    62.     {
    63.         while(!feof(f1))
    64.         {
    65.             if( fscanf(f1,"%d",&n) == -1)  // Kiem tra doc duoc tu file khong ( EOF chua ??)
    66.                 break;
    67.             fflush(stdin);
    68.             for (int i=0;i<n;i++)
    69.             {
    70.                 if (fscanf(f1,"%d", &a[i]) == -1)
    71.                     break;
    72.  
    73.                 if ( ngto(a[i]) == 1 )
    74.                     fprintf(f2,"%d ", a[i]);
    75.                 if ( chphuong(a[i]) == 1 )
    76.                     fprintf(f3,"%d ", a[i]);
    77.                 if ( sodep(a[i]) == 1)
    78.                     fprintf(f4,"%d ", a[i]);
    79.             }
    80.         }
    81.  
    82.         fclose(f1);
    83.         fclose(f2);
    84.         fclose(f3);
    85.         fclose(f4);
    86.     }
    87.  
    88.     return 0;
    89. }

    Em chưa hiểu cái hàm số đẹp của anh, mảng b nó không được khỏi tạo thi cái hàm nó đâu có nghĩa gì đâu. Còn anh nói nó ghi 2 lần thì em nghĩ do anh chưa kiểm tra cuối file nhưng hok biết đúng hok hihi em mới học C được vài tháng nến mong các anh chỉ thêm.
    http://forums.congdongcviet.com/signaturepics/sigpic78119_1.gif

    hãy nhảy như k có ai nhìn...
    hãy hát như k có ai nghe...
    hãy làm việc như k cần 1 thứ gì hết...
    và hãy sốg coi như hôm nay là ngày cuối cùg.

  7. #7
    Ngày gia nhập
    11 2010
    Nơi ở
    hell
    Bài viết
    165

    123 vs 134 đẹp chỗ nèo dậy ta.đầu tiên pải pít cái qy tắc số đẹp của chủ xị là gì mới được chứ
    HT117-5277

Các đề tài tương tự

  1. Trả lời: 3
    Bài viết cuối: 10-04-2013, 08:06 AM
  2. Giới thiệu cách chuyển File Ảnh thành file Video trong download proshow gold
    Gửi bởi thuhu0900x trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 3
    Bài viết cuối: 03-07-2012, 03:54 AM
  3. Đọc dữ liệu file midi dạng số HEX và lấy lời nhạc trong file ra file text
    Gửi bởi kimngockhtn_2007 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 0
    Bài viết cuối: 29-06-2011, 04:40 PM
  4. File server để dùng ajax trong visual2010 là file gì, xử lý kết nối với SQLserver như thế nào?
    Gửi bởi lenamshenlong trong diễn đàn Thắc mắc lập trình ASP.NET
    Trả lời: 9
    Bài viết cuối: 26-05-2011, 05:14 PM
  5. Làm sao để open file bằng cách double click vào file trong windows explorer?
    Gửi bởi Batchuoc_09 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 11
    Bài viết cuối: 18-07-2010, 01:12 PM

Quyền hạn của bạn

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