 |
|
เกี่ยวกับ Data Structure โดยใช้ contains ใน multidimension array |
|
 |
|
|
 |
 |
|
ไม่ได้โปรนะ แต่มาเขียน comment ให้โปรมาอ่าน เผื่อเขาอ่านภาษาไทยแล้วงง (เหมือนผม )
Code (VB.NET)
Try
StrWer = File.OpenText(Server.MapPath("MyFiles/") & "tutorial.csv") 'เปิดไฟล์ csv
Attributes = StrWer.ReadLine 'อ่าน string จาก csv หนึ่งแถวมาเก็บไว้ใน Attributes (อันนี้น่าจะเก็บชื่อ column)
Dim splitAttribute = Split(Attributes, textdelimiter) 'แยก string ออกเป็น array โดยใช้ char จาก textdelimiter
NumAttribute = UBound(splitAttribute) 'เก็บค่าขอบเขตของ array
lbltext.Text = "Here is the Data." & "<br>"
While StrWer.Peek <> -1 'อ่านแถวที่เหลือจาก csv
Dim Dataset = StrWer.ReadLine 'อ่าน string จาก csv หนึ่งแถวมาเก็บไว้ใน DataSet
NumDataset += 1 'นับจำนวนแถวของ DataSet
Dim splitDataset = Split(Dataset, textdelimiter) 'แยก string ออกเป็น array โดยใช้ char จาก textdelimiter
For j = 0 To UBound(splitDataset) 'วนลูปจากจำนวนแถวของ splitDataset
AttTable(NumDataset - 1, j) = splitDataset(j) 'เก็บค่าของ splitDataset ซึ่งเป็น array 1 มิติ ลง array 2 มิติ
Next
End While
StrWer.Close()
AttSelection()
End Sub
'มาถึงตรงนี้เรามีตัวแปรที่จะใช้งาน 4 ตัว คือ
'1. splitAttribute เก็บชื่อ column
'2. NumAttribute จำนวน column
'3. AttTable เป็น array 2 มิติเก็บ data ทั้งหมด
'4. NumDataset จำนวนแถวของ AttTable
Private Sub AttSelection() 'วนลูปตรวจสอบข้อมูล
Dim AttWork(,) As String
ReDim AttWork(NumDataset, NumAttribute)
For Attno = 0 To NumAttribute - 1
For Num = 0 To NumDataset - 1
If ตัวแปรไม่ซ้ำใน Attwork Then
เพิ่มตัวแปร
นับค่าสะสมผลลัพธ์
Else If ตัวแปรมีอยู่แล้วใน Attwork
If คำตอบเป็น yes
นับค่าสะสมผลลัพธ์ AttWork(
Else
End If
End If
Next
Next
ก็ไม่เห็นมีอะไรเลย เวลาจะอ้างอิงค่าในของ array 2 มิติ ก็อ้างจาก row กับ column ดิ เช่น AttTable(0, 0) แบบนี้น่ะ 
|
 |
 |
 |
 |
Date :
2010-04-15 19:26:44 |
By :
tungman |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ขอบคุณครับ ถ้าอยากจะเก็บค่า ที่ระบบอ่านได้ ไว้ใน array -- ที่ผมเขียนขึ้นมาคือ AttWork(AttributeA, 2 ,1 ) 2 คือจำนวนครั้งที่ตัวแปรนี้ ได้ผลลัพธ์เป็น ใช่ / 1 คือผลลัพธ์จำนวนครั้งที่ตัวแปรนั้นได้ผลลัพธ์เป็น ไม่ ต้องเขียนอย่างไรครับ ขอคำแนะนำอีกด้วยครับ
|
 |
 |
 |
 |
Date :
2010-04-15 21:35:44 |
By :
upaulu |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
แถวนี้มีใครแนะวิธี การใช้ contains ใน multidimension array ได้ไหมครับ
|
 |
 |
 |
 |
Date :
2010-04-16 11:41:13 |
By :
upaulu |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ทำน่ะทำให้ได้แต่อยากให้คิดเอง อิอิ
ลองคิดวิธีที่จะทำออกมาก่อนสิ แล้วลองทำแบบ manual ดู ถ้าได้ก็ทำวิธีที่ได้น่ะไปเขียนโปรแกรม
|
 |
 |
 |
 |
Date :
2010-04-16 15:08:18 |
By :
tungman |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|