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

Đề tài: Hỏi bài tập về tập tin

  1. #1
    Ngày gia nhập
    01 2013
    Nơi ở
    Sài Gòn
    Bài viết
    0

    Wink Hỏi bài tập về tập tin

    Nhập một mảng n số nguyên từ tập tin, có cấu trúc như sau:
    Dòng đầu: số phần tử của mảng.
    Dòng tiếp theo: các phần tử của mảng.
    Ví dụ: tập tin data.txt có nội dung như sau:
    6
    1 3 2 5 6 7
    Các bạn cho mình hỏi :
    1.Làm sao biết mảng trong tập tin có bao nhiêu phần tử, giả sử ko có dòng số phần tử
    Mình mới học lập trình mấy bạn giúp dùm, dc thì code bài này luôn mình cảm ơn
    Đã được chỉnh sửa lần cuối bởi luytredem : 05-01-2013 lúc 12:13 PM. Lý do: Hỏi vấn đề khác

  2. #2
    Ngày gia nhập
    11 2012
    Bài viết
    29

    Trích dẫn Nguyên bản được gửi bởi luytredem Xem bài viết
    Các bạn cho mình hỏi :
    1.Đề vậy có nghĩa là tập tin đã có sẵn trên máy, rồi mình in mảng đó ra như VD phải ko?
    2.Nếu vậy trên máy mình ko có tập tin đó thì làm sao để in ra, hay mình phải tạo 1 tập tin như vậy
    Mình mới học lập trình mấy bạn giúp dùm, dc thì code bài này luôn mình cảm ơn
    Bạn học File chưa? Tập tin này mình tự tạo ra, và xử lí trên đó.

  3. #3
    Ngày gia nhập
    01 2013
    Nơi ở
    Sài Gòn
    Bài viết
    0

    Trích dẫn Nguyên bản được gửi bởi pato24193 Xem bài viết
    Bạn học File chưa? Tập tin này mình tự tạo ra, và xử lí trên đó.
    À mình tự học nên có nhiều cái ko hiểu bạn à
    Cho mình hỏi làm sao biết số phần tử của mảng trong file vậy bạn, bạn code dùm mình để mình tham khảo được ko

  4. #4
    Ngày gia nhập
    11 2012
    Bài viết
    136

    Trích dẫn Nguyên bản được gửi bởi luytredem Xem bài viết
    À mình tự học nên có nhiều cái ko hiểu bạn à
    Cho mình hỏi làm sao biết số phần tử của mảng trong file vậy bạn, bạn code dùm mình để mình tham khảo được ko
    C Code:
    1. #include<stdio.h>
    2. #include<conio.h>
    3. #include<stdlib.h>//for exit
    4. #define MAX 100
    5. //doc file
    6. void readFile(int *n, int *a)
    7. {
    8.      FILE *f;
    9.      f = fopen("data.txt","r");
    10.      if(f == NULL)
    11.      {
    12.        perror("Khong mo duoc file.");
    13.        exit(1);
    14.      }
    15.      fscanf(f,"%d",n);//so phan tu cua mang
    16.      for(int i = 0; i< *n; ++i)
    17.          fscanf(f,"%d",(a+i));//doc cac phan tu cua mang
    18.      fclose(f);
    19.      return;
    20. }
    21.  
    22. void disPlay(int *a, int n)
    23. {
    24.      for(int i = 0; i< n; ++ i)
    25.         printf("%d  ",a[i]);
    26.      return;
    27. }
    28.  
    29. int main()
    30. {
    31.     int a[MAX], n;
    32.     readFile(&n, a);
    33.     printf("Mang sau khi doc tu file la:\n");
    34.     disPlay(a, n);
    35.     getch();
    36.     return 0;
    37. }
    Mình quên quên cách làm việc với file của C nên viết hơn gượng bạn thông cảm với C++ bạn sẽ dễ dàng hơn chút
    Giao lưu và học hỏi
    https://www.facebook.com/kimcy1992

  5. #5
    Ngày gia nhập
    01 2013
    Nơi ở
    Sài Gòn
    Bài viết
    0

    Mình quên quên cách làm việc với file của C nên viết hơn gượng bạn thông cảm với C++ bạn sẽ dễ dàng hơn chút
    Bạn ơi ý mình hỏi là làm sao Nhập mảng nếu ko có số phần tử mảng cho trước ấy bạn. Bạn làm như vậy là vẫn lấy số pt cho trước rồi mà

  6. #6
    Ngày gia nhập
    01 2013
    Nơi ở
    Sài Gòn
    Bài viết
    0

    Mặc định Hỏi bài tập về tập tin

    #include<stdio.h>
    void main()
    {
    FILE *f;
    int n=0,i=0,a[50];

    if((f=fopen("hai.txt","rb"))==NULL)
    {
    printf("Ko mo dc file ");
    exit(0);
    }
    do
    {
    fscanf(f,"%d",&a[i]);
    i++;
    n++;
    }
    while(a[i]!=NULL);
    fclose(f);
    for(i=0;i<n;i++)
    printf("%d ",a[i]);
    }
    MÌnh làm thế này nhưng nó chỉ chạy dc 3 phần tử đầu tiên hà, sai cho nào vây mọi người

  7. #7
    Ngày gia nhập
    11 2012
    Bài viết
    136

    Không biết trước số phần tử đây
    C Code:
    1. int i = 0;
    2.     while(!feof(f))
    3.      {
    4.            fscanf(f,"%d",(a + i++));//doc cac phan tu cua mang
    5.            ++(*n);//đếm số phần tử
    6.      }
    7.      --(*n); //số phần tử thực chất có trong mảng
    while(a[i]!=NULL); xem lai này bạn a[i] là con trỏ hay địa chỉ của 1 biến ?, so sánh này là đi so sánh với hằng số nguyên 0 đấy vì NULL là hằng số nguyên 0, thường NULL sẽ dành cho con trỏ thôi viết cái gì nó nên rõ ràng tí đến khi sửa còn dễ tìm, tóm lại bạn chỉ cần đọc lại là sẽ làm được, con trỏ nên xem lại ở bài của anh quang ở đây

    http://diendan.congdongcviet.com/showthread.php?t=42977
    Đã được chỉnh sửa lần cuối bởi kimcy1992 : 05-01-2013 lúc 01:04 PM.
    Giao lưu và học hỏi
    https://www.facebook.com/kimcy1992

  8. #8
    Ngày gia nhập
    01 2013
    Nơi ở
    Sài Gòn
    Bài viết
    0

    Cảm ơn bạn, thật ra mình chưa hiểu rõ về con trỏ nữa chắc phải học lại từ đầu quá

  9. #9
    Ngày gia nhập
    12 2012
    Bài viết
    1

    các bạn ơi cho mình hỏi tí! phần này khó wa ai rãnh giúp minh ha! thanhk you very much!!^^

    Viết chương trình đọc 2 điểm trong không gian 2 chiều từ file. Tính
    khoảng cách 2 điểm và xuất kết quả ra màn hình

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