الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

رجو المساعدة في برامج تراكيب بيانات بالسي++ مكدس وطابور

بدأه sana_22 في 9 يناير 2009 · 3 رد · 2,211 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

صمم برنامج يقوم باحتواء مكدس به عددn من البيانات ومن ثم سحبها الى طابور منشأ مسبقا بحيت ترتب وتخزن البيانات داخل الطابور تنازليا

صمم برنامج يقوم ببناء مكدس لأرقام اشارية ل n من الموظفين في مؤسسة ما وعلى اساس هذه الارقم المخزنة في المكدس يتم طباعة البيانات الخاصة بالموظفين وهي متمثلة في الرقم الاشاري وتاريخ التعيين والدرجة الوظيفية والراتب الاساسي

ملاحظة يتم طباعة البيانات بواسطة قائمة متصلة

ارجو الرد السريع للأهمية

#2

الجواب سهل جدا لتمارينك

لكن للاسف ما دمت تنتظرين ان نحل لك التمارين فانك موضوعك لن يجيب احد عليه

الجواب البسيط

من طلب العلا سهر الليالي

العمل كثير و الوقت قليل أعاننا الله

seo zen SEO Enlightment amazon danbo

#3

السلام عليكم

اخي الكريم انا لا اريد الحل

اتمنى ان تعطيني فكرة فقط لانو المادة هذه انا اخداتها من من فترة طويلة

وحابة ان تساعدني بشرح فقط وليس الحل

#4

الفكره واضحه في حال كنت على علم بكيفيه عمل المكدس والصف والقائمه المرتبطه ،، اما اذا كنت جديد ربما يصعب عليك وهنا يجب عليك أن تقرأ في هياكل البيانات لكي تتضح لك الصوره ،،

مثلا السؤال الأول :

اقتباس
صمم برنامج يقوم باحتواء مكدس به عددn من البيانات ومن ثم سحبها الى طابور منشأ مسبقا بحيت ترتب وتخزن البيانات داخل الطابور تنازليا

1) قم بعمل stack بعدد n من العناصر :

Stack s(n) ;

2) الان قم بالذهاب عنصر عنصر الى أن تنتهي العناصر ، وفي داخل هذه الحلقه أدخل كل عنصر الى الصف ..

Queue q;

while ( ! s.isEmpty() ) {

q.push(s);

}

3) الأن قم بعمل ترتيب لمحتويات هذا الصف باستخدام أي خوارزميه ترتيب bubble sort,insertion sort وغيرها ..

sort(q);

فقط :) .

اذا لم ترد اعاده العجله من جديد فاستخدم Container Adapters في STL ، وهذا حل سريع للسؤال الأول :

 

[color= #007f00;]#include <stack>

[color= #007f00;]#include <queue>

[color= #007f00;]#include <iostream>

[color= #0000ff;]using [color= #0000ff;]namespace std ;

 

[color= #0000ff;]int main [color= #000000;]([color= #0000ff;]int argc, [color= #0000ff;]char[color= #000000;]* argv[color= #000000;][[color= #000000;]][color= #000000;]) [color= #000000;]{

	stack[color= #000000;]<[color= #0000ff;]int[color= #000000;]> s ;

	priority_queue[color= #000000;]<[color= #0000ff;]int[color= #000000;]> q ;

 

	[color= #0000ff;]int number ; 

	[color= #0000ff;]while [color= #000000;]([color= #0000ff;]true[color= #000000;]) [color= #000000;]{

		cout [color= #000000;]<< [color= #A31515;]"enter value (-1 to stop) : " ;

		cin [color= #000000;]>> number ;

 

		[color= #0000ff;]if [color= #000000;]( number [color= #000000;]== [color= #ff0000;]-1 [color= #000000;])

			[color= #0000ff;]break ;

 

		s.[color= #808000;]push[color= #000000;](number[color= #000000;]);

	[color= #000000;]}

 

	[color= #0000ff;]while [color= #000000;]([color= #000000;]! s.[color= #808000;]empty[color= #000000;]([color= #000000;]) [color= #000000;]) [color= #000000;]{

		q.[color= #808000;]push[color= #000000;]( s.[color= #808000;]top[color= #000000;]([color= #000000;]) [color= #000000;]) ;

		s.[color= #808000;]pop[color= #000000;]([color= #000000;]);

	[color= #000000;]}

 

	[color= #0000ff;]while [color= #000000;]( [color= #000000;]! q.[color= #808000;]empty[color= #000000;]([color= #000000;]) [color= #000000;]) [color= #000000;]{

		cout [color= #000000;]<< q.[color= #808000;]top[color= #000000;]([color= #000000;]) [color= #000000;]<< [color= #A31515;]" " ;

		q.[color= #808000;]pop[color= #000000;]([color= #000000;]);

	[color= #000000;]}

 

	cout [color= #000000;]<< endl;

	[color= #0000ff;]return [color= #000000;]([color= #ff0000;]0[color= #000000;]);

[color= #000000;]}

فاذا كنت تريد كتابه هذه Container من الصفر (وهو مهم في حال كنت طالب علوم حاسوب وتدرس كورس هياكل بيانات) ، فعليك أن تدرس المكدس والصف بشكل جيد ، وهناك الكثير من الدروس حول هذا الموضوع ، يمكن أن تلقى نظره هنا لو أردت درس جيد : دوره هياكل البيانات ، أما اذا كنت غير مهتم بكيفيه بناء هذه الContainer وتريد أن تستخدمهم في برنامجك فاستخدم مكتبه STL وستوفر لك الكثير من الوقت ، راجع الدروس هنا في القسم وستجد كم موضوع حول STL ، ايضا google ما بيقصر في هالأمور :) .

بالتوفيق :) .

http://informatic-ar.com منصة تعليمية عربية في علوم الحاسب والبرمجة

https://moalfat.com  للكتب الالكترونية والكورسات التعليمية

Everything we see now is just an engineering solution based on old science

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…