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

Print Elements In Stack Ina Reverswed Order

بدأه sawsan87 في 16 نوفمبر 2008 · 13 رد · 1,476 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

لازم اكتب

function

تطبعلي الشياء الي بال

stack

من تحت لفوق ..يعني بالعكس بس لازم ابلش هيك

void printStackReverse(StackType stack)

باعتبار انو

typedef int ItemType;

معرفة اصلا و انو ال ستك مو فاضية و ما بتتغير بعد ما نكتب الفنكشن

كيف ممكن اعملها؟

ممكن حدا يساعدني؟

#2

داخل الداله قم بعمل pop للstack الحالي وأدخله في stack أخر ،، واستمر هكذا الى النهايه ..

الأن لديك العناصر معكوسه في الStack الجديد ، والstack الأول فارغ .. اعمل حلقه في هذا الstack الجديد ، وقم بعمل pop منه وأطبع هذه القيمه ، بالإضافه الى أدخالها في الStack القديم ، حتى تكون العناصر كما هي بعد انتهاء الداله ..

بالتوفيق ،

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

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

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

#3

طيب ممكن بليز تساعدني بأول الكود لأقدر اكمل عليه او شي شغلة..لانو صراحة لاقية صعوبة اني اعمله

#4

اكتب/ي محاولاتك ليتمكن الجميع من مساعدتك والا فسيتم اغلاق الموضوع تحت بند " طلب واجبات وتمارين "

llback.jpg

اشهد ان لا إله إلا الله وان محمدا ً رسول الله

#5
void printStackReverse(StackType stack)
{
	if  (item == listPtr -> info)
	{
		void StackType::MakeEmpty() {
			top =-1;}
void StackType::Push(ItemType newItem) {
			top++;
			items[top] = newItem;}
NodeType*  tempPtr = listPtr;
		listPtr = listPtr -> next;
		delete  tempPtr;		
}

	}
	else
		Delete (listPtr -> next, item)
}

هاد الكود عملت فيه ستاك جديدة و سرت اشيل بالاشياء الي بالستاك القديم و احطها بالستاك الجديد و الغيهم من الستاك القديم..صح الي عملته او لا؟

#6

هذا كود بسيط من يوضح الفكرة اذا كنت فهمت قصدك :

  1. #include <iostream>
  2. #include<cstdlib>
  3. #include<ctime>
  4. using namespace std;
  5. class stack
  6. {
  7. private:
  8. static const int MAX=10; /*حجم الاستاك*/
  9. int st[MAX];
  10. int top;
  11. public:
  12. stack():top(-1){}
  13. void push(int v){st[++top]=v;}
  14. int pop(){return st[top--];}
  15. bool isempty(){return (top==-1);}
  16. bool isfull(){return top==MAX-1;}
  17. void print()/*طباعه*/
  18. {
  19. while(!isempty())
  20. cout<<pop()<<endl;
  21. }
  22. void print_reve()/*طباعه مقلوبه*/
  23. {
  24. int i=0;
  25. while(i!=MAX)
  26. cout<<st[i++]<<endl;
  27. }
  28. };
  29. int main(int argc, char *argv[])
  30. {
  31. srand(time(0));
  32. stack s;
  33. while(!s.isfull()) /*تعبئة الاستاك باعداد عشوائية*/
  34. s.push(rand()%1000+1);
  35. s.print();
  36. cout<<"--------n";
  37. s.print_reve();
  38. cin.get();
  39. return 0;
  40. }
  41.  

tvquran_6.gif

#7

شكرا كتير بس طلع معي 5 ايرورز لما عملت كومبايل

Compiling...

asdfsa.cpp

c:\documents and settings\ahmed aburumman\desktop\ljdf\asdfsa.cpp(9) : error C2258: illegal pure syntax, must be '= 0'

c:\documents and settings\ahmed aburumman\desktop\ljdf\asdfsa.cpp(9) : error C2252: 'MAX' : pure specifier can only be specified for functions

c:\documents and settings\ahmed aburumman\desktop\ljdf\asdfsa.cpp(10) : error C2065: 'MAX' : undeclared identifier

c:\documents and settings\ahmed aburumman\desktop\ljdf\asdfsa.cpp(10) : error C2057: expected constant expression

c:\documents and settings\ahmed aburumman\desktop\ljdf\asdfsa.cpp(10) : warning C4200: nonstandard extension used : zero-sized array in struct/union

c:\documents and settings\ahmed aburumman\desktop\ljdf\asdfsa.cpp(11) : error C2229: class 'stack' has an illegal zero-sized array

Error executing cl.exe.

asdfsa.obj - 5 error(s), 1 warning(s)

شو قصده انو الستاك

zero-sized?

#8

تاكد من كتابة الكود او نسخه جيدا.

الكود شغلته على مايكروسوفت 2008 و minigw لم يظهر اي خطاء او تنبية.

tvquran_6.gif

#9

رجعت حاولت نفس الايرورز طلعولي

انا عم بستخدم

microsoft visual c++ 6.0

ممكن تعملي سكرين شوت للجواب و تعملي اياه اتاتشمنت؟

#10

هذا الكود مرفق.

stack.rar

tvquran_6.gif

#11

اسفة جدا انو عم غلبك بس والله عم يطلعلي نفس الايرورز

كل الايرورز عم يجو من هالسطرين

static const int MAX=10;

int st[MAX];

بترجاك تعملي سكرين شوت للجواب النهائي لانو لازم اعرف كيف حيطلع بالاخير

شكرا كتير على مساعدتك

#12

تظهر العناصر هكذا.

43
779
963
348
302
802
591
320
2
337


337
2
320
591
802
302
348
963
779
43
tvquran_6.gif

#13

طيب تعطيني اسم الكوبايل الي بتستعمله بالتفصيل؟

لانه لازم اعمل سكرين شوت للoutput

شكرا كتير على مشاركاتك

#14

نفذت الكود على visual c++2008

وايضا mingw

والبرنامج لا يحوي اي اخطاء .

tvquran_6.gif

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