Trang 1 trên tổng số 2 12 Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 11 kết quả

Đề tài: Xử lý ma trận kề của đồ thị vô hướng trong C#

  1. #1
    Ngày gia nhập
    02 2011
    Bài viết
    8

    Angry Xử lý ma trận kề của đồ thị vô hướng trong C#

    Hãy cho biết bậc của mỗi đỉnh và các đỉnh kề với nó . dữ liệu nhập từ file text . các bác giúp em với

  2. #2
    Ngày gia nhập
    03 2010
    Bài viết
    122

    Bạn ơi, bài của bạn có thể bị xóa!
    Bạn phải cho biết cách tổ chức dữ liệu ra sao chứ, cứ đưa câu hỏi chung chung thế này sao mà trả lời đc!
    Bạn trả lời đc câu hỏi này thì sẽ có người trả lời câu hỏi của bạn
    Câu hỏi: Xe bị hư, cách nào sửa?

  3. #3
    Ngày gia nhập
    03 2011
    Bài viết
    19

    bạn xem thế này có đúng với yêu cầu của bạn ko nha. File text nhập vào có định dangj như sau:

  4. #4
    Ngày gia nhập
    03 2011
    Bài viết
    19

    file text có định dạng: dòng đầu ghi số đỉnh của đồ thị, các dòng tiếp theo ghi ma trận kề của đồ thị:
    ví dụ:
    3
    0 1 0
    1 0 1
    0 1 0

    sau đó viết code tìm số bậc như sau:
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.IO;
    namespace xuLy
    {
    class Program
    {
    static void Main(string[] args)
    {
    StreamReader sr = new StreamReader("dothi.txt");
    int n=int.Parse(sr.ReadLine());
    int [,] a=new int[n,n];
    string s=sr.ReadLine();
    int i=0;
    while (s != null)
    {
    string []b = s.Split(' ');
    for (int j = 0; j < n; j++)
    a[i, j] = int.Parse(b[j].ToString());
    i++;
    s = sr.ReadLine();
    }
    sr.Close();
    //tim so bac cua dinh
    for (int k = 0; k < n; k++)
    {
    int sobac = 0;
    for (int h = 0; h < n; h++)
    {
    if (a[k, h] == 1)
    sobac++;
    }
    //hien thi ra so bac
    Console.WriteLine("so bac dinh {0} la:{1}",k+1,sobac);
    }
    Console.ReadLine();
    }
    }
    }

  5. #5
    Ngày gia nhập
    03 2010
    Bài viết
    122

    Để tính bậc và tìm số đỉnh kề của đỉnh k ta chỉ cần duyệt dòng thứ k của ma trận.
    Code:
    String dinhke="";
    for(int i=0;i<sodinh;i++)
    {
    if(a[k][i]==1) { sobac++; dinhke+=i.toString()+","; }
    }
    Mà ko biết bạn gặp vấn đề gì nhỉ? Bị lỗi hay ko biết cách làm?

  6. #6
    Ngày gia nhập
    03 2011
    Bài viết
    19

    Mặc định Xử lý ma trận kề của đồ thị vô hướng trong C#

    bác kqphu đg nói ai đó?

  7. #7
    Ngày gia nhập
    02 2011
    Bài viết
    8

    4
    ví dụ là đồ thị vô hướng các bác ơi .
    em co đồ thị này nhập từ file text.txt .
    0 1 0 1
    1 0 1 1
    0 1 0 1
    1 1 1 0
    với đỉnh số 1 có bậc là 2 .
    với đỉnh số 2 có bậc là 3 .
    với đỉnh số 3 có bậc là 2 .
    với đỉnh số 4 có bậc là 3 .
    đỉnh kề với đỉnh số 1 là 2 và 4 .
    đỉnh kề với đỉnh số 2 là 1 và 3 , 4.
    đỉnh kề với đỉnh số 3 là ...............
    như thế đó mấy bác

  8. #8
    Ngày gia nhập
    02 2011
    Bài viết
    8

    em viết bằng windown form các bác ơi

  9. #9
    Ngày gia nhập
    03 2010
    Bài viết
    122

    Trích dẫn Nguyên bản được gửi bởi thienthanittk37 Xem bài viết
    bác kqphu đg nói ai đó?
    Ko hiểu ý của bạn lắm? Mình đang hỏi chủ topic

    Trích dẫn Nguyên bản được gửi bởi chilinh1991 Xem bài viết
    em viết bằng windown form các bác ơi
    Bạn làm theo cách của thienthanittk37, nhưng thay vì Console.WriteLine thì mình cộng dồn chuỗi lại, sau đó xuất ra TextBox thôi!

  10. #10
    Ngày gia nhập
    02 2011
    Bài viết
    8

    public void docfile(string path)
    {
    OpenFileDialog op = new OpenFileDialog();
    op.InitialDirectory = "C://";
    string chonfile = "All Text File (.txt)|*.txt|";
    chonfile += "All docment (.doc)|*.doc";
    op.Filter = chonfile;
    if (op.ShowDialog() == DialogResult.OK)
    {
    textBox1.Text = op.FileName;

    }
    // đọc file khi vừa nhập vào
    if(textBox1.Text != "")
    {

    StreamReader sr = new StreamReader(textBox1.Text);
    richTextBox1.Text = sr.ReadToEnd();
    sr.Close();

    }

    }
    public void sodinh()
    {
    StreamReader sr = new StreamReader(textBox1.Text);
    int n = int.Parse(sr.ReadLine());
    int[,] a = new int[n,n];
    string s = sr.ReadLine();
    int i = 0;
    char[] khoangtrang = {};
    while (s != null)
    {
    Regex regex = new Regex(" ");
    string[] b = regex.Split(s);
    for (int j = 0; j < n; j++)
    {
    a[i, j] = int.Parse(b[j].ToString());
    i++;
    s = sr.ReadLine();
    }
    sr.Close();
    }
    }
    public void baccuadinh()
    {
    StreamReader sr = new StreamReader(textBox1.Text);
    int n = int.Parse(sr.ReadLine());
    int[,] a = new int[n,n];
    for (int k = 0; k < n; k++)
    {
    int sobac = 0;
    for (int h = 0; h < n; h++)
    {
    if (a[k, h] == 1)
    {
    sobac++;

    }
    }
    label1.Text = "số bậc của đỉnh :" + (k + 1).ToString() + ":" + sobac.ToString() + "\n";
    }

    }
    sau đó gọi 2 phương thức sodinh và bậc của đỉnh để tính số bậc thì nó lỗi thế này

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

  1. [Hỏi] Cách nhân 2 ma trận với các phần tử của ma trận đợc để trong mảng 1 chiều.
    Gửi bởi code_c trong diễn đàn Nhập môn lập trình C#, ASP.NET
    Trả lời: 4
    Bài viết cuối: 23-09-2012, 10:24 PM
  2. Mảng trên C++ Tính TBC các phần tử của M.Trận B từ các số cho trước trong M.trận A
    Gửi bởi ngoc_le_iu_iu trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 5
    Bài viết cuối: 13-03-2012, 06:22 AM
  3. Làm thế nào để xác định vị trí của ma trận đơn vị trong ma trận a
    Gửi bởi haiictu trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 0
    Bài viết cuối: 10-11-2011, 10:57 AM
  4. Viết hàm con trả về nhiều giá trị trong ma trận?
    Gửi bởi tuan_uct trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 4
    Bài viết cuối: 03-05-2011, 11:11 AM
  5. Biến trả lấy giá trị trả về trong Stored Procedure
    Gửi bởi iamonlining trong diễn đàn Thắc mắc Microsoft SQL Server & Microsoft Access
    Trả lời: 6
    Bài viết cuối: 16-12-2009, 05:24 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