[C++] Đọc Ma Trận Kề, Danh Sách Kề Bằng Fstream, Sử Dụng Tham Số ...
Có thể bạn quan tâm
Tác giả:
- Trần Hán Huy – tranhanhuy.wordpress.com
Đề bài
- Đọc ghi tập tin với tham số dòng lệnh:
Cấu trúc tham số dòng lệnh: <Tên chuong trinh.exe> <tham số : L – ds kề, m – ma trận kề > <tên file input> <tên file output>
in1 : ma tran ke 4 0 1 5 1 1 0 0 2 1 0 0 0 1 1 0 0
in2 : ds ke 2 3 4 1 2 3 1 3 5 2 4 6
output Dinh 1 noi voi dinh 2: chi phi …..
Linkdown code demo: http://www.mediafire.com/file/pnxbejrpi2cjfxj/LTDT-DocFile-fstream.rar
Code Class DSKe:
#pragma once #include <stdio.h> #include <conio.h> #include <iostream> #include <fstream> #include <vector> using namespace std; struct Canh { int DinhDau; int DinhCuoi; int TrongLuong; }; class DSKe { private: vector<Canh> m_DSKe; public: DSKe(void); ~DSKe(void); public: void DocFileDSKe(char *TenFile); void GhiFileDSKe(char *TenFile); }; DSKe::DSKe(void) { } DSKe::~DSKe(void) { } void DSKe:: DocFileDSKe(char *TenFile) { ifstream DocTep(TenFile); if (!DocTep.is_open()) { cout << "Khong mo file duoc!, conloyal"; return; } else { Canh Tam; while (!DocTep.eof()) { DocTep >> Tam.DinhDau; DocTep >> Tam.DinhCuoi; DocTep >> Tam.TrongLuong; m_DSKe.push_back(Tam); cout << Tam.DinhDau << " - " << Tam.DinhCuoi << " : " << Tam.TrongLuong << endl; } DocTep.close(); } } void DSKe:: GhiFileDSKe(char *TenFile) { ofstream MoTep(TenFile); if (!MoTep.is_open()) { cout << "Khong tao file duoc!"; return; } else { for (int i=0; i<(signed)m_DSKe.size(); i++) { MoTep << "Dinh " << m_DSKe[i].DinhDau << " noi voi dinh " << m_DSKe[i].DinhCuoi << " voi chi phi: " << m_DSKe[i].TrongLuong << "\n"; } MoTep.close(); } }Code Class MaTranKe
#pragma once #include <stdio.h> #include <conio.h> #include <iostream> #include <fstream> #include <vector> using namespace std; #define MAX 100 class MaTranKe { private: vector<vector<int>> m_Matrix; public: MaTranKe(void); ~MaTranKe(void); public: void DocFileMaTran(char *TenFile); void GhiFileMaTran(char *TenFile); }; MaTranKe::MaTranKe(void) { } MaTranKe::~MaTranKe(void) { } void MaTranKe:: DocFileMaTran(char *TenFile) { ifstream DocTep(TenFile); if (!DocTep.is_open()) { cout << "Khong mo file duoc!"; return; } else { int n; DocTep >> n; m_Matrix.resize(n); cout << " " << n << endl; for (int i=0 ; i<(signed) m_Matrix.size(); i++) { m_Matrix[i].resize(m_Matrix.size()); for(int j=0; j< (signed)m_Matrix[i].size(); j++) { DocTep >> m_Matrix[i][j]; cout << " " << m_Matrix[i][j]; } cout << endl; } DocTep.close(); } } void MaTranKe:: GhiFileMaTran(char *TenFile) { ofstream MoTep(TenFile); if (!MoTep.is_open()) { cout << "Khong tao file duoc!, conloyal"; return; } else { MoTep << "Co " << m_Matrix.size() << " dinh\n" ; for (int i=0 ; i<(signed) m_Matrix.size(); i++) { for(int j=0; j< (signed)m_Matrix[i].size(); j++) { if ( m_Matrix[i][j] != 0) { MoTep << "Dinh " << i+1 << " noi voi dinh " << j+1 << " voi chi phi: " << m_Matrix[i][j] << "\n"; } } } MoTep.close(); } }Code main
#include "MaTranKe.h" #include "DSKe.h" void main(int n, char* a[]) { if (strcmp(a[1], "m") == 0) { cout << "Ma tran ke: " << endl; MaTranKe dt; dt.DocFileMaTran(a[2]); dt.GhiFileMaTran(a[3]); } else if (strcmp(a[1], "l") == 0) { cout << "Danh sach ke: " << endl; DSKe ds; ds.DocFileDSKe(a[2]); ds.GhiFileDSKe(a[3]); } else { cout << "du lieu dua vao khong hop le, conloyal"; } }Share this:
- X
Related
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
-
Hỏi Về đọc Ghi Ma Trận Qua FILE Trong C - Dạy Nhau Học
-
Đọc Và Ghi File Text Trong C++ - Toan Vnaking's Blog/site
-
Đọ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