Chủ đề: Chuyển chuỗi thành biểu thức
-
07-02-2009, 10:43 AM #1Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Chuyển chuỗi thành biểu thức
Mình muốn viết một chương trình vẽ đồ thị! Nhưng không biết làm cách nào chuyển một chuỗi biểu thức nhập từ bàn phím thành biểu thức thực sự để vẽ!
Ví dụ chương trình làm như sau:
Nhap ham muon ve :
---Ta nhập là y=x*x
Làm thế nào để ghi nhận chuỗi biểu thức này để ta xử lý nó trong thân hàm! Mong các bạn giúp đỡ!View more random threads:
- Thắc mắc về toán tử << và >>
- xuất mảng con tăng. Ai giúp e được không vậy ?
- Lỗiii, giúp e với T_T
- Tính tiền Internet bằng C++, giúp mình với
- Mô phỏng con lắc đơn dao động tắt dần?
- bài tập về mảng 1 chiều
- Giúp mình một số bài tập về hàm
- Đồ họa
- Minh không hiểu sai ở đâu ????
- Viết hoán vị của 0 và 1, độ dài do người dùng nhập.
-
07-02-2009, 03:43 PM #2Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Chưa hình dung là bạn định vẽ như nào, nhất là với C cơ bản.
Nếu chuỗi nhận vào gần như có định dạng như sau:
y = <biểu thức với x>
Bạn duyệt từng phần tử của chuỗi, và các toán tử và hằng số ở sau dấu bằng vào mảng số thực và chuỗi.
- Nếu gặp số thì đọc hết số lưu vào chuỗi tạm cho đến kí tự khác số, convert ra kiểu số nguyên (dùng atoi) số thực (dùng sprintf() <--số ng cũng đc) rồi lưu giá trị đó vào mảng số.
- Nếu là toán tử thì nó vào một mảng chuỗi.
*Nhưng cách đó có vẻ khó khăn.
Bạn nên tra cứu lý thuyết cấu trúc dữ liệu phần stack và giải thuật biểu thức balance, mấy cái đó là môn "Cấu trúc dữ liệu và giải thuật" không biết bạn học nó chưa.
http://www.ddth.com/showthread.php?p=1500349
-
08-02-2009, 02:58 PM #3Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Mình cũng định viết theo dạng y=(hàm theo x). Với 2 biến x,y khai báo sẵn.
Mình định dùng hàm vẽ từng điểm của đồ thị (dùng <graphic.h>)
Cho x chạy trong một khoảng giá trị.Mỗi x sẽ sinh ra một y qua hàm do người dùng nhập. Dùng cặp tọa độ này để vẽ điểm!
Nhưng theo cách bạn nói thì lưu biểu thức như vậy rồi làm gì với nó nữa đây!
Mong bạn chỉ cho mình kĩ hơn chút! Thank.
Mình đang học về cấu trúc dữ liệu và giải thuật. Nhưng mới đầu kì nên không biết nó ứng dụng được trong bài này như thê nào!
-
08-02-2009, 05:34 PM #4Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Hấp dẫn thật, cái mà bạn muốn cũng là module quan trong trong bất kì trình dịch nào thì phải. Bạn thử tìm mã nguồn trong quyển Bài tập lập trình C++ của thầy Nguyễn Thanh Thủy xem
À mà hình như tớ chả bao giờ vẽ vời được gì trong C với thư viện graphic.h nhỉ, nó không chạy được trong windows hay sao ấy
-
08-02-2009, 05:38 PM #5Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Bài này có thể giải quyết theo cách dùng stack. Khi học cấu trúc dữ liệu bạn sẽ được học cách chuyển từ trung tố sang tiền tố hay hậu tố. Trung tố là cách nhìn của con người, còn tiền tố và hậu tố là cách hiểu của máy. Mình đã từng làm một chương trình y chang ý tưởng của bạn vậy đó, để mình lục lại xem có ko. Ý tưởng là dùng hậu tố kết hợp với con trỏ hàm. Ví dụ như biểu thức y = x + 1, chuyển sang hậu tố là :
1
x
HamCong
trong đó hàm cộng là con trỏ hàm đến hàm thực hiện chức năng cộng.
-
08-02-2009, 05:41 PM #6Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Gửi bởi cfambabyfox
- Vấn đề về thư viện graphics.h đã được nói rất nhiều rồi, đây là thư viện dùng cho dos chứ ko phải cho win do đó ko chạy được trên win.
-
10-02-2009, 03:13 PM #7Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Chuyện vẽ thì ko quan trọng lắm vì cứ thế x là có y và chấm điểm. Quan trọng là phải chuyển biểu thức dạng chuỗi thành một dạng hàm khi chạy. Cái này là một dạng mở rộng của biểu thức hậu tố. Bạn hãy đợi khi học xong phần chuyển từ trung tố sang hậu tố thì sẽ hiểu rõ vấn đề ngay thôi. Dạng cơ bản là người ta sẽ lưu dấu '+','-','*','/' vào stack, nếu tổng quát hơn thì lưu con trỏ hàm operator vào stack.
-
10-02-2009, 05:32 PM #8Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Mình lập trình kiểu console thui.Bạn meoconlongvang có thể chỉ rõ hơn chút cho mình được không! Bạn có tài liệu hay chỉ dẫn chi tiếc thì cho mình xin với!
Ý tưởng vẽ theo kiểu này là do mình thấy các chương trình vẽ đồ thì họ vẽ từng điểm một liên tục tạo nên các đường đồ thị!
-
11-02-2009, 05:48 PM #9Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Ý tưởng mình là vậy đó! Đúng như cách vẽ bạn nói! Nhưng mình muốn học trước thì đọc những phần nào ở đâu, tài liệu gì? Bạn cho mình xin tài liệu lun đi! Chứ đợi đến khi trường dạy thì có mà chờ dài cổ! Mà nhiều khi không dạy hay dạy woa loa cũng có! Hix
-
12-02-2009, 04:45 PM #10Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Sách thì mình ko biết ebook, hồi đó mình chỉ photo cuốn sách tiếng anh của ông thầy thôi. Bạn hãy search trên mạng hay trên 4rum để hiểu rõ về thuật toán chuyển từ trung tố sang hậu tố cái đã. Nếu chưa hiểu về nó thì khó mà nói tiếp lắm. Thuật toán này cũng dễ tìm lắm bạn à.
Ngọc Bích xanh bản chất thuộc dòng đá đá hoa (jade). Và cẩm thạch là tên gọi chung của ngọc bích. Vì thực chất chúng thuộc dòng đá đa khoáng được hình thành từ chất Silicat dưới dạng dioxy. Ngọc bích...
Chia sẻ Vòng tay ngọc bích xanh là...