Từ 1 tới 7 trên tổng số 7 kết quả

Đề tài: Xây dựng hàng đợi mảng vòng.

  1. #1
    Ngày gia nhập
    02 2009
    Bài viết
    8

    Wink Xây dựng hàng đợi mảng vòng.

    Em đọc thấy cấu trúc dữ liệu này rất hay. Nhưng tới khi cài đặt thì chịu. Mong mọi người giúp em cách xây dựng cấu trúc này với. Nếu có thể thì hãy viết lun giúp em hàm nhập dữ liệu, hiện, thêm và bớt các phàn tử trong hang đợi. Thank moi người.

  2. #2
    Ngày gia nhập
    04 2008
    Bài viết
    15

    mình cũng đang gặp vấn đề này đây.nếu thấy cần bạn có thể liên lạc với mình qua email akmmslkye@gmail.com để có thể trao đổi nhiều hơn ha

  3. #3
    Ngày gia nhập
    11 2007
    Nơi ở
    Biết để làm gì?
    Bài viết
    827

    Trích dẫn Nguyên bản được gửi bởi katoka_hp Xem bài viết
    Em đọc thấy cấu trúc dữ liệu này rất hay. Nhưng tới khi cài đặt thì chịu. Mong mọi người giúp em cách xây dựng cấu trúc này với. Nếu có thể thì hãy viết lun giúp em hàm nhập dữ liệu, hiện, thêm và bớt các phàn tử trong hang đợi. Thank moi người.
    Của bạn :
    C++ Code:
    1. #include <iostream>
    2. using std::cout;
    3. using std::cin;
    4.  
    5. const int size =10;
    6.  
    7. struct Queue
    8. {
    9.     int front,rear;
    10.     int arr[size];
    11. };
    12.  
    13. void AddValue(struct Queue* q)
    14. {
    15.     int n;
    16.     if(q->rear==size-1)
    17.         cout<<"Queue if full\n";
    18.     else
    19.     {
    20.         cout<<"Enter value :\t";
    21.         cin>>n;
    22.         q->rear++;
    23.         q->arr[q->rear]=n;
    24.     }
    25. }
    26.  
    27. int DelValue(struct Queue* q)
    28. {
    29.     int data,i;
    30.     if(q->rear<0)
    31.         cout<<"Queue is empty\n";
    32.     else
    33.     {
    34.         data=q->arr[q->front];
    35.         for(i=0;i<q->rear;i++)
    36.             q->arr[i]=q->arr[i+1];
    37.         q->rear--;
    38.         cout<<"Element dequeued is : "<<data;
    39.     }
    40.     return data;
    41. }
    42.  
    43. void Display(struct Queue* q)
    44. {
    45.     int i;
    46.     if(q->rear<q->front)
    47.         cout<<"Queue is Empty\n";
    48.     else
    49.     {
    50.         cout<<"\nQueue contains:\n";
    51.         for(i=0;i<=q->rear;i++)
    52.         {
    53.             cout<<q->arr[i]<<"\t";
    54.         }
    55.     }
    56. }
    57.  
    58. int main()
    59. {
    60.     struct Queue q1;
    61.     int ch;
    62.     q1.front=0;
    63.     q1.rear=-1;
    64.     cout<<"Menu\n";
    65.     cout<<"1.Add element to queue\n";
    66.     cout<<"2.Delete element from queue\n";
    67.     cout<<"3.Display queue\n";
    68.     cout<<"4.Exit\n";
    69.     do
    70.     {
    71.         cout<<"\nEnter your choice: ";
    72.         cin>>ch;
    73.         switch(ch)
    74.         {
    75.         case 1:
    76.             AddValue(&q1);
    77.             break;
    78.         case 2:
    79.             DelValue(&q1);
    80.             break;
    81.         case 3:
    82.             Display(&q1);
    83.             break;
    84.         case 4:
    85.             cout<<"Exit....";
    86.             break;
    87.         default:
    88.             cout<<"Wrong choice\n";
    89.             break;
    90.         }
    91.     }
    92.     while(ch!=4);
    93.     return 0;
    94. }
    Cánh Chym ứ mỏi

  4. #4
    Ngày gia nhập
    04 2008
    Bài viết
    15

    thanks nha,ah cho mình hỏi cái này nha,mình dùng c-free biên dịch nó không chạy mà dùng bc thì lại chạy,ko hiểu sao nữa
    Đã được chỉnh sửa lần cuối bởi akmmslkye : 20-03-2009 lúc 07:51 PM.

  5. #5
    Ngày gia nhập
    11 2007
    Nơi ở
    Biết để làm gì?
    Bài viết
    827

    Trích dẫn Nguyên bản được gửi bởi akmmslkye Xem bài viết
    thanks nha,ah cho mình hỏi cái này nha,mình dùng c-free biên dịch nó không chạy mà dùng bc thì lại chạy,ko hiểu sao nữa
    Hình như trên bc thì không chạy chứ,mình chưa dùng c-free nên có biết nó có tuân theo chuẩn ANCI99 ko.Mình làm trên VC2k8
    Cánh Chym ứ mỏi

  6. #6
    Ngày gia nhập
    04 2008
    Bài viết
    15

    Mặc định Xây dựng hàng đợi mảng vòng.

    mình chạy thử trên bc,có thay đổi 1 chút,nó chạy bình thường,còn c-free nó báo truy cập bị cấm j đó,mình cũng k bít nữa.ah mà mình đọc ở 1 quyển sách nào,mình cũng ko nhớ rõ,nó bảo nếu dùng mảng vòng thì cần cẩn thận vì nếu rear==MAX-1 thì gán lại rear=0,khi đó đảm bảo hàng đợi đã đầy.mình cũng dựa theo code của bạn thử chuyển qua hướng đối tượng,but mình chuối quá,pó tay!bạn có gợi ý j cho mình k?

  7. #7
    Ngày gia nhập
    11 2007
    Nơi ở
    Biết để làm gì?
    Bài viết
    827

    Chuyển qua OOP thì thay struct bằng class
    Cánh Chym ứ mỏi

Các đề tài tương tự

  1. Kỹ thuật C++ Nhập và gán 1 kí tự trong vòng lặp sao cho khi không nhập kí tự thì vòng lặp lại chạy tiếp.
    Gửi bởi note194 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 3
    Bài viết cuối: 12-08-2013, 09:11 PM
  2. Lập trình C++ giá trị của xâu trong vòng lặp và ngoài vòng lặp khác nhau
    Gửi bởi virus93ttll trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 17
    Bài viết cuối: 14-05-2011, 02:43 PM
  3. Code cài đặt DSLK đơn vòng và kép vòng trên C++. Thêm 1 phần tử sau 1 phần tử trong DSLK đơn/kép
    Gửi bởi hoanghieu.fit.hcmus trong diễn đàn Thảo luận, góp ý code C/C++ của bạn
    Trả lời: 2
    Bài viết cuối: 09-04-2011, 02:54 PM
  4. Tìm max (Sử dụng vòng lặp)
    Gửi bởi cr9 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 13
    Bài viết cuối: 08-05-2010, 10:53 AM
  5. Vòng lặp for lồng nhau, giúp tớ hiểu rõ hơn về vòng lặp for lồng nhau?
    Gửi bởi bk7million trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 11
    Bài viết cuối: 29-04-2009, 07:46 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn