Hỏi Về đọc Ghi Ma Trận Qua FILE Trong C - Dạy Nhau Học Trang chủ » Nhập Xuất Ma Trận Kề Từ File » Hỏi Về đọc Ghi Ma Trận Qua FILE Trong C - Dạy Nhau Học Có thể bạn quan tâm Nhập Xuất Python Nhập Xuất Tồn Nhập Xuất Tồn Bằng Excel 2010 Nhập Xuất Tồn Bằng Excel đơn Giản Nhập Xuất Tồn Excel Hỏi về đọc ghi ma trận qua FILE trong C programming c immaturehaan (han) March 26, 2020, 6:28pm #1 chào mọi người, đề bài của em là viết hàm đọc ma trận từ tập tin matrixin và xuất ra tập tin matrixout. Đây là code của em // BT2.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include <conio.h> void docMaTran(int **&arr, int &d, int &c) { int k = 0; FILE *f = fopen("matrixin.txt", "r"); while (!feof(f)) { if (fgetc(f) == ' ') k++; if (fgetc(f) == '\n') d++; } c = (k / d) + 1; arr = new int*[d]; for (int i = 0; i < d; i++) { arr[i] = new int[c]; for (int j = 0; j < c; j++) { fscanf(f, "%d", &arr[i][j]); } } fclose(f); } void ghiMaTran(int **arr, int d, int c) { FILE *f = fopen("matrixout", "w"); for (int i = 0; i < d; i++) { for (int j = 0; j < c; j++) { fprintf(f, "%d", arr[i][j]); } fprintf(f,"\n"); } fclose(f); } int _tmain(int argc, _TCHAR* argv[]) { int **arr, d, c; docMaTran(arr, d, c); ghiMaTran(arr, d, c); for (int i = 0; i < d; i++) { delete[]arr[i]; } delete[]arr; _getch(); return 0; } em không biết đã sai chỗ nào. mong được mọi người giúp đỡ Gio (Gió) March 27, 2016, 10:38am #2 sau vòng while để đếm k, d thì bạn đã đọc hết file rồi. Do đó để đọc lại từ đầu file bạn nên thêm lệnh rewind(f); sau vòng while 2 Likes immaturehaan (han) March 27, 2016, 10:45am #3 không biết mình làm vậy còn sai gì nữa mà lại bị bug, mong bạn xem giúp mình void docMaTran(int **&arr, int &d, int &c) { int k = 0; FILE *f = fopen("matrixin.txt", "r"); while (!feof(f)) { if (fgetc(f) == ' ') k++; if (fgetc(f) == '\n') d++; } c = (k / d) + 1; rewind(f); while (!feof(f)) { arr = new int*[d]; for (int i = 0; i < d; i++) { arr[i] = new int[c]; for (int j = 0; j < c; j++) { fscanf(f, "%d", &arr[i][j]); } } } fclose(f); } Gio (Gió) March 27, 2016, 11:10am #4 Nếu file của bạn định dạng đúng thì bạn nên bỏ cái while(!feof... sau đi bởi nó sẽ đọc lại 1 lần nữa nên bị sai 1 Like immaturehaan (han) March 27, 2016, 11:21am #5 ý bạn là sao ạ? không phải rewind(f) là đưa con trỏ lên đầu sau đó đọc lại từ đầu sao? mình cũng phải đọc lại lần nữa để đọc từng phần tử chứ ạ? không biết mình hiểu vậy có sai không nữa? mong bạn giải đáp Gio (Gió) March 27, 2016, 11:42am #6 Không phải code bạn có 2 vòng while đó sao. Ý là bỏ while sau thôi. Bug thì có nhiều lí do: các số có cách nhau= 1 dấu " "? các dòng đều kết thúc= “\n” ? 2 Likes immaturehaan (han) March 27, 2016, 11:52am #7 ý là đếm khoảng cách với xuống dòng thì đếm để xây ma trận DayNhauHoc's Discord Học C++ Free? Click Blog Dạy Nhau Học Tự Học Lập Trình 83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao? Từ khóa » Nhập Xuất Ma Trận Kề Từ File Hướng Dẫn Code Nhập Xuất Ma Trận Kề Từ File Bằng C - Học 3 Giây Bài Tập C - Nhập Ma Trận Từ File Trong C - VietTuts Đọc Ma Trận Từ File Trong C++ - Lập Trình Không Khó Hướng Dẫn Code Nhập Xuất Ma Trận Kề Từ File Bằng C Học 3 Biểu Diễn đồ Thị Bằng Ma Trận Kề Và Danh Sách Kề - TEK4 Đọc Và Ghi File Text Trong C++ - Toan Vnaking's Blog/site [C++] Đọc Ma Trận Kề, Danh Sách Kề Bằng Fstream, Sử Dụng Tham Số ... Đọc Ma Trận Từ File Bằng C++ - Cộng đồng C Việt Làm Thế Nào để đọc File Chứa Dữ Liệu Là Mảng 2 Chiều Các Số Nguyên ... Bài 4 Chuyển Danh Sách Kề Sang Ma Trận Kề. - YouTube 3.BÀI THỰC HÀNH BUỔI 1 - Fish IT [PDF] Bài Hướng Dẫn Thực Hành 1 - Ma Trận Kề & Liên Thông