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

Đề tài: giúp đỡ về đọc dữ liệu file.txt !

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

    Mặc định giúp đỡ về đọc dữ liệu file.txt !

    Bộ code của mình



    C++ Code:
    1. #include "stdafx.h"
    2. #include <iostream>
    3. #include <fstream>
    4. using namespace std;
    5. int a,b,n,m;
    6. ifstream file;
    7. int mang[100][100];
    8. void doicho ( int mang[100][100], int mang2[100][100])
    9. {
    10.     int a,b;
    11.     a=mang[100][100];
    12.     b=mang2[100][100];
    13.     mang[100][100]=mang2[100][100];
    14.     mang[100][100]=a;
    15. };
    16. void sapxeptang( int mang[100][100],int n, int m )
    17. {
    18.     for ( int i = 1; i <= m-1; i++)
    19.     {
    20.         for ( int j = 0; j <= n-1; j++)
    21.         {
    22.             if ( mang[j][i] < mang[j+1][i] )
    23.             {
    24.                 int a,b;
    25.                 a= mang[j][i];
    26.                 b= mang[j+1][i];
    27.                 mang[j][i]=mang[j+1][i];
    28.                 mang[j+1][i]=a;
    29.             }
    30.         }
    31.     }
    32. }
    33.  
    34. int main()
    35. {
    36.     char a, b;
    37.     b='6';
    38.     file.open ("test.txt",ios::out);
    39.         file >> a;
    40.         cout<<a;
    41.         for ( int i = 0; i <= a-1;i++)
    42.         {
    43.             for ( int j = 0; j <= b-1; j++)
    44.             {
    45.                 char c;
    46.                 file >> c;
    47.                 cout << c;
    48.                 mang[i][j] = c;
    49.             }
    50.         }
    51.         sapxeptang(mang,a,b);
    52.         for ( int i = 0; i<= a-1; i++)
    53.         {
    54.             for ( int j = 0; j<= b-1; j++)
    55.             {
    56.  
    57.                 cout <<  mang[i][j];
    58.             }
    59.         }
    60.     file.close();
    61.         system ("pause");
    62.     return 0;
    63. }


    File test có dạng

    Code:
    5 6
    11 22 33 44 66 8
    40 22 14 42 53 63
    23 45 63 23 53 46
    66 44 64 78 81 35
    47 97 93 32 96 46

    Mình đọc 2 số a b ! ko được nên ko làm đc toàn bộ bài ^^!! Mình muốn đọc 2 số a,b là 2 số 5 6 để làm số cột số dòng

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

    Bạn đọc số 5 cho a như thế nào thì đọc số 6 cho b như vậy.
    C Code:
    1. int mang[100][100];
    2. void doicho ( int mang[100][100], int mang2[100][100])
    3. {
    4.     int a,b;
    5.     a=mang[100][100];
    6.     b=mang2[100][100];
    7.     mang[100][100]=mang2[100][100];
    8.     mang[100][100]=a;
    9. }
    bạn xem lại hàm đổi chỗ lại đi làm gì có phần tử a[100][100] thế này 99 thì có. trong c đánh số từ 0->n-1 nên không làm thế này được.
    Giao lưu và học hỏi
    https://www.facebook.com/kimcy1992

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

    Trích dẫn Nguyên bản được gửi bởi kimcy1992 Xem bài viết
    Bạn đọc số 5 cho a như thế nào thì đọc số 6 cho b như vậy.
    Nhưng mình chạy thử thì nó ko đọc được cả 2 số bạn ak

  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 madara134 Xem bài viết
    Nhưng mình chạy thử thì nó ko đọc được cả 2 số bạn ak
    Lúc nãy không để ý vấn đề là bạn khai báo a, b kiểu char thì làm sao mà được nhỉ char a, b; mà đọc lại là kiểu có định dạng file>>a; chả tương thích tí nào. muốn đọc từng kí tự thì bạn phải dùng file.get(ch);, chuyển thành int a, b; đi có lẽ là được thôi bạn à.
    Giao lưu và học hỏi
    https://www.facebook.com/kimcy1992

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

    Trích dẫn Nguyên bản được gửi bởi kimcy1992 Xem bài viết
    Lúc nãy không để ý vấn đề là bạn khai báo a, b kiểu char thì làm sao mà được nhỉ char a, b; mà đọc lại là kiểu có định dạng file>>a; chả tương thích tí nào. muốn đọc từng kí tự thì bạn phải dùng file.get(ch);, chuyển thành int a, b; đi có lẽ là được thôi bạn à.
    Mình thử cái đó rồi bạn ! mình thử int a , b; rồi nên mình thử char xem nó có xuất dạng ký số hay ko @@! Nhưng nó ko xuất dạng ký số luôn !

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

    Mặc định giúp đỡ về đọc dữ liệu file.txt !

    Tóm lại là bạn muốn đọc file và hiển thị ra màn hình đã đúng không. Nếu vâỵ thì mình sẽ chỉ lỗi sai cho bạn trước tiên là lỗi mình đã nói ở trên về hàm đổi chỗ. tiếp theo lỗi của bạn ở đây ifstream file; với thuộc tính chỉ để đọc nhưng ở đây bạn lại mở file với thuộc tính để ghi file.open ("test.txt",ios::out); vậy thì nó đọc làm sao được, và thiếu một nguyên tắc khi mở file phải kiểm tra file mình muốn mở. Mình sửa lại bài bạn nhưng chỉ là đọc file phần còn lại là của bạn, dữ liệu vẫn là file test bạn cho.
    C Code:
    1. #include <fstream>
    2. using namespace std;
    3. ifstream file;
    4. int mang[100][100];
    5.  
    6. int main()
    7. {
    8.     int a, b;
    9.     file.open ("test.txt",ios::in);
    10.     if(file.fail()){
    11.          cerr<<"Khong mo duoc file";
    12.          return 0;
    13.     }
    14.         file>>a>>b;//doc hang doc cot
    15.         cout<<a<<" "<<b;
    16.         for ( int i = 0; i <a ;i++)
    17.             for ( int j = 0; j <b; j++)
    18.               file>>mang[i][j];
    19.        
    20.         cout<<"\nMang vua doc."<<endl;
    21.         for ( int i = 0; i <a ;i++)
    22.         {    
    23.             for ( int j = 0; j <b; j++)
    24.               cout<<mang[i][j]<<" ";
    25.             cout<<"\n";
    26.         }
    27.     file.close();
    28.     system ("pause");
    29.     return 0;
    30. }
    31. khuyên bạn là hạn chế sử dụng biến toàn bộ nếu chưa nắm rõ nó, không sẽ có lỗi xảy ra đó, mình rất hạn chế dùng nó và thường là không dùng.
    Giao lưu và học hỏi
    https://www.facebook.com/kimcy1992

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

    Trích dẫn Nguyên bản được gửi bởi kimcy1992 Xem bài viết
    Tóm lại là bạn muốn đọc file và hiển thị ra màn hình đã đúng không. Nếu vâỵ thì mình sẽ chỉ lỗi sai cho bạn trước tiên là lỗi mình đã nói ở trên về hàm đổi chỗ. tiếp theo lỗi của bạn ở đây ifstream file; với thuộc tính chỉ để đọc nhưng ở đây bạn lại mở file với thuộc tính để ghi file.open ("test.txt",ios::out); vậy thì nó đọc làm sao được, và thiếu một nguyên tắc khi mở file phải kiểm tra file mình muốn mở. Mình sửa lại bài bạn nhưng chỉ là đọc file phần còn lại là của bạn, dữ liệu vẫn là file test bạn cho.
    Cảm ơn bạn nhìu ^^! thấy lỗi sai rồi :P
    Cho mình hỏi thêm về biến cục bộ của bạn ! Bạn nói là ít dùng có khi ko dùng...nó có bất lại lợi gì bạn nhỉ... Thầy mình chỉ xài biến cục bộ luôn nhưng mình chưa đc giảng kỹ về biến cục bộ lắm ^^!
    Còn về hàm đổi chỗ...!! tại sao sai bạn nhỉ ?

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

  1. Bài tập C++ giúp e bài nối nội dung từ file này sang file khác vs
    Gửi bởi acer5750 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 1
    Bài viết cuối: 08-09-2012, 01:51 AM
  2. Mã nguồn C Lỗi move data từ file to new file qua stack,các bạn giúp mình nha.
    Gửi bởi manta trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 0
    Bài viết cuối: 08-10-2011, 05:16 PM
  3. lỗi đọc dữ liệu từ file! Giúp mình sửa?
    Gửi bởi Sayuri0903 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 1
    Bài viết cuối: 18-09-2010, 09:25 AM
  4. Giúp em hàm ghi dữ liệu trong dslkd vào file và đọc dữ liệu từ file
    Gửi bởi chuong01 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 1
    Bài viết cuối: 18-10-2009, 09:42 AM
  5. Lập trình C++ Đọc file và ghi file trong lập trình C++. Giúp em sửa
    Gửi bởi thangit trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 4
    Bài viết cuối: 20-10-2008, 09:57 AM

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