Dùng Stack đổi Cơ Số Từ Hệ 10 Ra Hệ 2 - Programming Trang chủ » Chuyển Hệ 10 Sang Hệ 2 Stack » Dùng Stack đổi Cơ Số Từ Hệ 10 Ra Hệ 2 - Programming Có thể bạn quan tâm Chuyển Hệ 10 Sang Hệ 2 Tin 10 Chuyển Hệ 10 Sang Hệ 2 Trong C Chuyển Hệ 10 Sang Hệ 2 Trong Python Chuyển Hệ 16 Sang 10 Chuyển Hệ 16 Sang 2 Dùng stack đổi cơ số từ hệ 10 ra hệ 2 programming c stack phamhalam (Phạm Hà Lâm) August 20, 2018, 6:40am #1 #include<stdio.h> #include<conio.h> #include"stdlib.h" struct node { int info; struct node *next; }; typedef struct node *Stacknode; Stacknode S; void StackLint(Stacknode *S) { *S=NULL; return; } // khai bao stack = dslk int StackEmpty(Stacknode S) { return (S==NULL); } // kiem tra stack rong void StackPush(Stacknode *S,int x) { Stacknode p; p=(Stacknode)malloc(sizeof(struct node)); p->info=x; p->next=*S; *S=p; } // day 1 phan tu vao stack void StackPop(Stacknode *S,int *x) { Stacknode p; if(S!=NULL) { *x=(*S)->info; p=*S; *S=(*S)->next; free(p); } } // lay 1 phan tu khoi stack void doi_10_2(Stacknode *S, int *n) { int du, thuong,x; Stacklint(S); printf("Nhap so he 10: "); scanf("%d",n); thuong=*n; while(thuong!=0) { du=thuong%2; thuong=thuong/2; push(S,Newnode(du)); } printf("he 2 cua so %d la: ", *n); while(!StackEmpty(S)) printf("%d",pop(S,&x)); } int main() { int i,x; StackLint(&S); for(i=0;i<10;i++) StackPush(&S,i); while(S!=NULL) { StackPop(&S,&x); printf(" %d ",x); } int n; doi_10_2(&S,&n); return; } Đây là đoạn code về chuyển đổi cơ số từ hệ 10 ra hệ 2 bằng stack! ở trong phần void doi-so 10 2 không biết em bị lỗi gì! Ai giúp em sửa đoạn này với ạ! em cảm ơn! ltd (Lê Trần Đạt) October 31, 2014, 1:34pm #2 Lâm, Code này bị thiếu tùm lum hàm mà. Làm sao mà chạy được? 1 Like phamhalam (Phạm Hà Lâm) October 31, 2014, 5:17pm #3 Anh sửa giúp em được không ạ! đổi từ hệ 10 ra hệ 2 phamhalam (Phạm Hà Lâm) October 31, 2014, 5:19pm #4 đoạn voide void doi_10_2 đó ạ! vẫn thiếu ở dưới hàm main nhưng em không khắc phục được 1 Like BatdangthucD (Trần Trí Dũng) October 31, 2014, 6:20pm #5 mình khuyên này … hiểu dc cách hình thành cấu trúc thôi … :v … sau đó chuyển sang C ++ mà học mà làm có sẵn các thư viện rồi thích stack thì có stack thích queue thì có queue … còn mình ngại đọc code lắm … 1 Like ltd (Lê Trần Đạt) November 1, 2014, 2:21am #6 Mình khuyên Lâm nhé, tự code đi, đừng copy code ở đẩu đâu trên mạng đem về coi là của mình. Như vậy không học được đâu. Code đó 100% không phải do bạn viết, bạn chỉ copy ở đâu đó về. Mà còn không biết cách copy dẫn đến thiếu hàm mà bạn cũng không hiểu thiếu cái gì. Vấn đề không phải là bài này lỗi, vấn đề là bạn không biết bạn đang hỏi cái gì. Hãy bắt đầu lại từ đầu, chậm mà chắc. Tin Đạt đi, nếu coi lại kiến thức cho vững, thay vì dành thời gian tìm bài có sẵn. Thì tầm 1 tháng thôi là bạn đã nắm kiến thức rồi. 4 Likes phamhalam (Phạm Hà Lâm) November 1, 2014, 2:19pm #9 em hỏi về phần đổi cơ số ạ! vì code đoạn đó em tìm trên mạng r đề vào bài này! còn cả về stack là của em ạ! 1 Like ltd (Lê Trần Đạt) November 2, 2014, 2:37am #10 Đề bài là dùng stack để đổi từ hệ 10 sang hệ 2 hay sao? Em copy đoạn code trên mạng bị thiếu rồi, hoặc là em làm mới. Hoặc là em tìm code khác trên mạng (mà em tìm không có tìm thấy cái em cần đâu). Hôm trước anh bực mình là vì a đọc xong thấy code copy thiếu tùm lum mà đem đi hỏi, khác nào đánh đố mọi người. Nhưng nếu em nêu rõ vấn đề, anh sẽ giúp, và phải là code của em. Thì khi đó anh sửa em mới hiểu, và ít ra anh hiểu em đang hỏi cái gì. Em đọc bài này, bạn này cũng gặp tình trạng tương tự của em. Cách viết một editor đơn giản bằng C++ programming Write a simple text editor, which stores a string of characters using the list ADT, together with a cursor object that highlights the position of some character in the string (or possibly the position before the first character). Your editor should support the following operations and redisplay the cur- rent text (that is, the list) after performing any one of them. • left: Move cursor left one character (or nothing if at the beginning) • right: Move cursor right one character (or do nothing if a… 3 Likes btm (buithaiminh) November 2, 2014, 4:07am #11 Bạn @phamhalam trình bày thuật toán của bạn đi. Ý tưởng của bạn như nào? Bạn thực hiện từng bước như nào? Sau khi thuật toán được phân tích đúng, chúng ta sẽ cùng nhau hiện thực từng bước. Làm như vậy sẽ dễ dàng hơn nhiều. phamhalam (Phạm Hà Lâm) November 2, 2014, 4:57pm #12 dạ vâng! đề bài là dùng như thế! vấn đề em cũng không tìm ra nên đã chèn thử vào nên mới lỗi be bét z anh ạ! mong anh thông cảm phần này không biết hỏi đi đâu nên mới lên đây hỏi ạ! 2 Likes ltd (Lê Trần Đạt) November 3, 2014, 12:42am #13 Ok, để tối về có thời gian anh xem cho 1 Like phamhalam (Phạm Hà Lâm) November 3, 2014, 1:39am #14 Vâng! Em cảm ơn anh làm phiền mọi người quá! 1 Like tuancoi2506 (Phạm Hoàng Tuấn) November 4, 2014, 1:22am #15 có nhất thiết phải dùng danh sách liên kết k bạn? bài này dùng mảng 1 chiều có vẻ đơn giản hơn. Nếu dùng mảng 1 chiều, bạn có thể tham khảo bài này. struct myStack { int a[100]; int n; }; typedef struct myStack MYSTACK; void InitStack(MYSTACK &stack); void Push(MYSTACK &stack,int values); int Pop(MYSTACK &stack); void PrintStack (MYSTACK stack); int _tmain(int argc, _TCHAR* argv[]) { int number; MYSTACK stack; InitStack(stack); std::cout<<"Nhap n :"<<std::endl ; std::cin>>number; while (number>0) { int sodu=number%2; Push(stack,sodu); number=number/2; } std::cout<< "So nhi phan cua n: " <<std::endl; while(stack.n >0) { int temp=Pop(stack); std::cout << temp; stack.n--; } std::cout<<std::endl; return 0; } void Push(MYSTACK &stack,int values) { stack.a[stack.n]=values; stack.n++; } int Pop(MYSTACK &stack) { return stack.a[stack.n-1]; } void InitStack(MYSTACK &stack) { stack.n=0; } 2 Likes Dung_Kon (Dũng Kon) November 3, 2014, 6:38am #16 Dùng STL Container Stack để chuyển từ hệ 10 sang hệ 2 programming Lỗi sai của chương trình này ? #include <iostream> #include <stack> using namespace std; int main() { stack<int> nhiPhan; int n = 4; while(n > 0) { int dv = n%2; nhiPhan.push(dv); n = n/2; } for(int i = 0; i < nhiPhan.size(); i++) { cout << nhiPhan.top(); nhiPhan.pop(); } return 0; } tranh thủ qua đây đàm đạo bài này cho vui mọi người 2 Likes ltd (Lê Trần Đạt) November 3, 2014, 7:25am #17 Chưa đọc code của Tuấn nhưng ý của Tuấn đúng rồi đấy. Stack chỉ là khái niệm, có thể dùng mảng 1 chiều để thể hiện stack. Dùng DSLK phức tạp hơn không cần thiết. 2 Likes phamhalam (Phạm Hà Lâm) November 3, 2014, 3:41pm #18 bài này dùng mảng đúng là hay hơn thật! em chèn dslk bất thành xin phép tham khảo bài! 2 Likes phamhalam (Phạm Hà Lâm) November 3, 2014, 3:50pm #19 cảm ơn bác khai sáng cho mình 2 Likes dattuti (MinLee) August 11, 2015, 1:24pm #21 mình cũng mới học C++, đây là code của mình mong mọi người góp ý #include <iostream> using namespace std; //khai bao cau truc stack #define max 100 int a[max]; int sp; //tao stack rong void init(int a[], int &sp) { sp=-1; } //xet stack rong int isEmpty(int a[], int sp) { if(sp==-1) return 1; else return 0; //tai sao khong dung else } //xet stack day int isFull(int a[], int sp) { if(sp==max-1) return 1; else return 0; } //them phan tu vao stack int push(int a[], int &sp, int x) { if(sp != max-1) { a[++sp] = x; return 1; } else return 0; } //lay/xoa phan tu stack int pop(int a[], int &sp, int &x) { if (sp!=-1) { x=a[sp--]; return 1; } else return 0; } //chuyen he 10 sang he 2 void convertDectoBin(int d) { int du; while(d!=0) { du = d%2; push(a, sp, du); d = d/2; } } //in ra he 2 void printBin() { int x; while(sp!=-1) { pop(a, sp, x); cout<<x; } } int menu() { int chon; cout<<"***************************\n"<<"1.khoi tao stack\n"<<"2.xet rong\n"<<"3.xet day\n"<<"4.them stack\n"<<"5.xoa stack\n"<<"6.chuyen he 10 sang he 2\n"<<"0.thoat\n"<<"+++++++++++++++++++++++\n"<<"chon: "; cin>>chon; return chon; } int main() { int x, chon; do { chon=menu(); switch(chon) { case 1: init(a, sp); cout<<"da khoi tao stack\n"; break; case 2: int k; k = isEmpty(a, sp); if(k==1) cout<<"danh sach rong\n"; else cout<<"danh sach khong rong\n"; break; case 3: int m; m = isFull(a, sp); if(m==1) cout<<"danh sach day\n"; else cout<<"danh sach chua day\n"; break; case 4: cout<<"nhap gia tri can them: "; cin>>x; int n; n= push(a, sp, x); if(n==1) cout<<"them thanh cong\n"; else cout<<"them khong thanh cong\n"; break; case 5: int p; p= pop(a, sp, x); if (p==1) cout<<"xoa thanh cong\n"; else cout<<"xoa khong thanh cong\n"; break; case 6: int d; cout<<"nhap so he 10: "; cin>>d; convertDectoBin(d); cout<<"he 2: "; printBin(); cout<<endl; break; } } while (chon!=0); } 1 Like tien_nguyen6 (Tiến Nguyễn) August 20, 2018, 4:22am #23 @tuancoi2506 anh có thể cho em xem code C để xem ý tưởng được không ạ. em chưa biết C++ nên k hiểu rogp10 (rogp10) August 20, 2018, 6:39am #24 tien_nguyen6: xem code C để xem ý tưởng Từ code suy ngược ra ý thì nhức đầu lắm. 1 Like next page → DayNhauHoc's Discord Học C++ Free? Click Blog Dạy Nhau Học Tự Học Lập Trình 83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao? Từ khóa » Chuyển Hệ 10 Sang Hệ 2 Stack Bài Tập Chuyển đổi Cơ Số Bằng Stack Đổi Sang Hệ Cơ Số 10 Sang Hệ Cơ Số 2 Và 16 Dùng Stack Trong C++ Code Về Stack | Chuyển Hệ Số 10 Sang 2 Dùng Stack Chương Trình Chuyển đổi Một Số Hệ 10 Sang Hệ 2 Sử Dụng Các Thao [C++] Chuyển Từ Thập Phân Sang Nhị Phân Dùng Stack Và Không ... TopList #Tag: Code Chuyển đổi Cơ Số 10 Sang 2 Dùng Stack Chuyển đổi Hệ Cơ Số Trong Python - Bài Tập Python - VietTuts Chuyển đổi Hệ Cơ Số Trong Java - Bài Tập Java Có Lời Giải - VietTuts [PDF] Bài 4 CẤU TRÚC DỮ LIỆU - Soict [Danh Sách Liên Kết] Bài 17. Ứng Dụng Stack Vào Bài Toán "Chuyển ... Lập Trình C++ - Chuyển đổi Hệ Cơ Số [Basic-DSAA] Cấu Trúc Dữ Liệu Ngăn Xếp- Chuyển Số Thành Chuỗi Nhị ... PHẦN 2 : ỨNG DỤNG CỦA STACK | Huynh Minh Khoa Is Weblog Convert Số Thập Phân Sang Nhị Phân Trong Java - Deft Blog