Mình không biết có thuộc tính nào tính nhanh n và m không ,nhưng làm theo cách thủ công thì :
- Đếm "\n" để được số hàng
- Đếm " " để được số cột
Còn về vụ sin(Pi) thì không biết.
Hiện tại mình đang định làm 1 chương trình nhỏ, định viết trên C++ nhưng quay đi quay lại.. nghĩ viết trên C# thử xem.
Mọi người đóng góp ý kiến xem nhé :
Mô tả : Nhập 1 file .txt vào có dạng là ma trận n hàng, m cột < giả sử mỗi phần tử trong hàng cách nhau bởi 1 khảng trắng >
vấn đề 1: làm thế nào để xác định được n, m ?còn hơi gà khoản này
eg: file text có nội dung:
1.3 4 0.5
2.3 5.4 -5.1
thì nó trả về kết quả là n=2, m=3 ???
Vấn đề 2: đang thử viết modul nhân 2 ma trận với nhau... Nếu giải quyết đc vấn đề 1 thì coi như xong vấn đề 2 rồi ><
Àh hỏi thêm:
tính Sin(Pi) tại sao ko bằng 0 nhỉ? Vì là số Pi trong VS cũng chỉ lấy chính xác thôi. Chỗ này cũng cần hỏi.. Nhưng có cách nào để đưa nó về 0 ko nhỉ ?
Mong mọi người góp ýMình mới tập tọe viết code thôi
shadow of nothing
Mình không biết có thuộc tính nào tính nhanh n và m không ,nhưng làm theo cách thủ công thì :
- Đếm "\n" để được số hàng
- Đếm " " để được số cột
Còn về vụ sin(Pi) thì không biết.
Thanks đã đóng góp !
Mình cũng nghĩ đến cách như thế này rồi- Nhưng như thế này có vẻ thủ công quá nhỉmà có thể ko chính xác nữa nếu người nhập file text sai, thừa 1 dấu xuống dòng?? hay thừa 1 khoảng trắng thì sao? Mình định dựa trên số phần tử trong dãy đầu vào? và thêm 1 biến buộc người nhập phải khai báo... số hàng chẳng hạn..
Như vậy vấn đề 1 của mình đã giải quyết được. Hì
Còn vấn đề nhân ma trận ?? Uhm, đang cố gắng giải quyết, Mọi ng cho ý kiến..
Còn cái vụ Sin(Pi) # 0 nữa.. Trong matlab thì có thể giải quyết được, nhưng ở Vs thì ko biết, hix. Cái này có lẽ phải nhờ bác nào có kinh nghiệm rồi
Àh? Cho mình hỏi thêm :
Vấn đề 3 : nhập vào từ file text thì chỉ là kí tự thôi. liệu có cách nào giải quyết... Pi/4 thì nó biết là Pi/4 ? Hì vì chưa biết nhiều lắm về lập trình tính toán ở Vs nên ko rõ
Mong mọi ng cho ý kiến
shadow of nothing
Sin pi =0 theo mình là do toán tính theo Radian (pi = 180°) sin(pi) = 0
Vắn đề 1:
Gải thuật trên là của C++, khi làm việc với C# thì người ta sử dụng triệt để các tiện nghi của dot net
Dùng hàm File.ReadAllLines để mở file, đọc tất cả các dòng vào một mảng chuỗi.
Đối với mỗi chuỗi, dùng hàm Split(' ') để tách ra từng cột.
Vấn đề 2:
Math.Sin(Math.PI) = 1.22460635382238E-16
Vậy là gần 0 lắm rồi còn muốn gì nữa.
Bạn quên rằng trong phép tình số thực, người ta không thể xét 2 số tuyệt đối bằng nhau. Chỉ có thể xem hai số là bằng nhau qua một sai sô chấp nhận.
Vấn đề 3:
Tôi không rành kỹ thuật parse text. Không trả lời được.
hi! 2 vấn đề kia của bạn thì các cao thủ giải đáp rồi.
Vấn đề 3 của bạn theo t thấy:
bạn đọc được từ file giá trị là xâu ="pi/4" hoặc #"pi/4" thì chỉ cần so sánh là xong. Nếu đúng bằng "pi/4"(không phân biệt hoa thường) thì tính toán theo cái đó và ngược lại. Ko biết t nghĩ phải ko? hay là hiểu sai vấn đề of bạn.hix
Ok, thank mọi người đã đóng góp ý kiến nhétớ bắt tay vào làm rồi
shadow of nothing