| | #1 (permalink) |
| سنفور نشيط جداً ![]() ![]() ![]() ![]() | #include<iostream.h> #include<stdlib.h> #include<time.h> #include<string.h> #include <conio.h> typedef int queueelem; typedef int stackelem; class queue{ private: queueelem *m; int size; int front; int rear; int count; public: int create(int s); void destroy(); int enqueue(queueelem j); int dequeue(queueelem *j); int isempty(); int isfull(); int rcount(); int rsize(); }; int queue::rcount() { return count ; } int queue::create(int s){ m=new queueelem[s]; if(m==NULL) { cout<<"error\n"; return 0; } size=s; rear=0; front=0; count=0; return 1; } void queue::destroy() { delete[] m; m=NULL; rear=0; front=0; count=0; } int queue::enqueue(queueelem j){ if(!isfull()) { m[rear]=j; rear++; rear%=size; count++; return 1; } else cout<<"error queue full\n"; return 0; } int queue::dequeue(queueelem *j) { if(!isempty()) { *j=m[front]; front++; front%=size; count--; return 1; } else cout<<"error empty\n"; return 0; } int queue::isempty(){ return count<=0;} int queue::isfull(){ return count==size; } class stack{ private: stackelem *m; int size; int top; int count; public: int ini (int s); int push (stackelem j); int pop(stackelem *j); int isempty(); int isfull(); void destroy(); int rcount() ; }; int stack::rcount() { return count ; } int stack::ini (int s){ m=new stackelem[s]; if(m==NULL) { cout<<"error\n"; return 0; } count = 0; size=s; top=-1; return 1; } int stack::isempty() { return count==0; } int stack::isfull() { return top>=size-1; } int stack: op(stackelem *j){ if(isempty()) { cout<<"error\n"; return 0; } *j=m[top]; top--; count--; return 1; } int stack: ush(stackelem j){ if(isfull()) { cout<<"error"; return 0; } top++; m[top]=j; count++; return 1; } void stack::destroy() { delete[] m; m=NULL; size=0; count=0; top=-1; } int main () { int i,k,h; queue q1,q2; stack s1,s2; srand( time(0) ) ; q1.create(20); q2.create(20); s1.ini(10); s2.ini(10); while(!q1.isfull() || !s1.isfull() || !s2.isfull()||!q2.isfull()){ i=rand()%100+1; k=rand()%100+1; // cout << s1.rcount() << " " << s2.rcount() << endl ; // getch() ; if(k>=1&&k<=40){ q1.enqueue(i); } if(k>=41&&k<=50 && !q2.isempty()){ q2.dequeue(&h); q1.enqueue(h); } if(k>=51&&k<=65&& !q1.isempty()){ q1.dequeue(&h); s1.push(h); } if(k>=66&&k<=80&& !q1.isempty()){ q1.dequeue(&h); s2.push(h); } if(k>=81&&k<=100&& !q1.isempty()){ q1.dequeue(&h); q2.enqueue(h); } } while( !s1.isempty() ) { s1.pop(&h) ; cout <<"s1="<< h << " "; } while(!s2.isempty()) { s2.pop(&h); cout <<"s2=" <<h<<" "; } while(!q1.isempty()) { q1.dequeue(&h); cout <<"q1="<<h<<" "; } while(!q2.isempty()) { q2.dequeue(&h); cout<<"q2= "<<h<<" "; } return 0; } الشرح لاحقا |
| | |
| | #2 (permalink) |
| سنفور نشيط جداً ![]() ![]() ![]() ![]() | بفرض انه تم ادخال 100% بينات |
| | |
![]() |
| الذين يشاهدون محتوى الموضوع الآن : 1 ( الأعضاء 0 والزوار 1) | |
| أدوات الموضوع | |
| انواع عرض الموضوع | |
| |
| كلمات البحث - Keywords |
| منتديات , برامج , أفلام , افلام , بلوتوث , ومقاطع , كليبات و اغاني , أغاني عربية , أغاني غربية , مركز تحميل صور , البوم صور , نغمات , قصائد , mp3 , forex , music , wav |
| منتديات , برامج , أفلام , افلام , بلوتوث , ومقاطع , كليبات و اغاني , أغاني عربية , أغاني غربية , مركز تحميل صور , البوم صور , نغمات , قصائد , mp3 , forex , music , wav |