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?
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
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?
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:
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();
}
}
}
Để 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.
Mà ko biết bạn gặp vấn đề gì nhỉ? Bị lỗi hay ko biết cách làm?Code:String dinhke=""; for(int i=0;i<sodinh;i++) {if(a[k][i]==1) { sobac++; dinhke+=i.toString()+","; }}
bác kqphu đg nói ai đó?
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
em viết bằng windown form các bác ơi
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