PDA

View Full Version : در کامل شدن این برنامه بهم کمک کنید



mehham
دوشنبه 21 آبان 1386, 00:33 صبح
دوستان من دانشجوی رشته کامپیوتر هستم و مثل اکثر دانشجویان زیاد برنامه نویسی اپلیکیشن بلد نیستم.من این دو تا برنامه رو باید واسه هفته بعد کامل تحویل بدم.
کسانی که در مورد مباحث صف و پشته وارد هستند کمک کنند تا این برنامه اجرا بشه.حتما باید اجرا بشه.
نمی دونم بازم هم نیاز به توضیح هست یا نه.

********صف********

void insert (int x)
{
Q q;
if(q.rear==n)
{
cout<<"queue is full:";
exit (0);
}
q.a[q.rear]=x;
q.rear++;
}
int delete (void)
int y;
Q q;
if (q.front==q.rear)
{
cout<<"queue is empty:";
exit (0);
}
y=q.a[q.front];
q.front++;
return x;
}


******پشته******

void push(int x)
{
S s;
if (s.top==n)
{
cout<<"stock is:";
exit (0);
a[s.top]=x;
s.top++;
}
int pop(void)
{
S s;
int x;
if(s.top==1)
{
cout<<"stack is empty:";
exit (0);
s.top--;
x=a[s.top];
return y;
}

emad_67
دوشنبه 21 آبان 1386, 00:42 صبح
اینایی که نوشتی فقط یه تابع اند. باید براشون کلاس یا struct هم تعریف کنی طبق چیزایی که نوشتی. اینجوری معلومه اجرا نمیشه

Alireza Orumand
دوشنبه 21 آبان 1386, 12:02 عصر
سلام
اینا که نوشتید که پیاده سازی صف و پشته هست. برای اینکه کار کنه یه جا باید از این برنامه استفاده کنید. جایی که نیاز به استفاده از این ساختار باشه. مثلا باجه پرداخت پول تو بانک رو پیاده سازی کن و برای نگه داری Object مشتری از صفی که داری استفاده کن ببین کار میکنه یا نه.
اگر کد اینجا میگذارید از تگ کد استفاده کنید که کد ها قابل خوندن باش.
موفق باشید.

alinaghiha
دوشنبه 21 آبان 1386, 23:09 عصر
اجازه بدید من قابل خوندنش کنم بعد در موردش بحث کنیم



void insert (int x)
{
Q q;
if(q.rear==n)
{
cout<<"queue is full:";
exit (0);
}
q.a[q.rear]=x;
q.rear++;
}

int delete (void)
int y;
Q q;
if (q.front==q.rear)
{
cout<<"queue is empty:";
exit (0);
}
y=q.a[q.front];
q.front++;
return x;
}
//*****stack*********

void push(int x)
{
S s;
if (s.top==n)
{
cout<<"stock is:";
exit (0);
a[s.top]=x;
s.top++;
}

int pop(void)
{
S s;
int x;
if(s.top==1)
{
cout<<"stack is empty:";
exit (0);
s.top--;
x=a[s.top];
return y;
}

alinaghiha
دوشنبه 21 آبان 1386, 23:22 عصر
اولین نکته ای که بهش برخورد می کنیم


Q q;

مفهومش چیه؟
به نظر میاد دوست عزیزمون میخواد یک متغیر به نام q از ساختار Q بسازه
بهتر بود Struct رو هم در کدش می آوردید
متغیر q شما یا باید عمومی اشه یا به تابع پاس داده بشه اگه اینجا تعریفش کنی مقداری که متغییر می دی تو صف اصلیت اعمال نمی شه


if(q.rear==n)
{
cout<<"queue is full:";
exit (0);
}
q.a[q.rear]=x;
q.rear++;

مشخصه Exit باعث خروج میشه اما بهتر بود Else رو می آوردی این مسئله تو Push و Pop شما بیشتر نمود پیدا کرده چون اونجا اصلا تعداد }{ برابر نیست البته شاید مشکلی ایجاد نکنه
یه مشکل دیگه بنظر میاد صف شما دایر ای باشه یه صف دایره ای پر بودنش با


if(q.rear==n)

چک نمیشه چون ابتدای صفت هم حرکت می کنه
ما دوست داریم خودت هم تو بحث باشی
منتظرم

mehham
سه شنبه 22 آبان 1386, 00:41 صبح
با تشکر از همه دوستانی که کمک کردند.
عرضم به حضورتون این کدهایی که من نوشتم استاد سر کلاس گفته و گفته کاملشو جلسه بعد تحویل بدید و چیزی بیشتر از این نگفته.
همون طور که گفتم من چیزی در مورد ++c نمی دونم.البته تازه شروع کردم و تازه دستورات ابتدایی if,for,while,... رو دارم مرور می کنم و خیلی راه مونده تا به این مباحث برسم.خیلی دلم می خواست به کمک شما دوستان خودم برنامه رو اجرا کنم ولی نه چیزی می دونم و نه فرصتی دارم تا در چند روز آینده این مباحث رو یاد بگیرم.
اگه امکان داره این کدها رو با ساده ترین برنامه ای که قابل استفاده باشه اجرایی کنید.

alinaghiha
سه شنبه 22 آبان 1386, 15:42 عصر
به نظر میاد استادتون قصد داره تا آخر ترم به قول بچه ها روستونو بکشه پس بهترین کار اینه که یه کتاب سی ++ گیر بیاری و یاد بگیری وگرنه ...
موفق باشی

mehham
پنج شنبه 24 آبان 1386, 01:02 صبح
کسی نیست به داد ما برسه.به خدا کلی دعاتون می کنم.

emad_67
پنج شنبه 24 آبان 1386, 09:33 صبح
دوست من اینجا کسی برای کسی کد نمینویسه یعنی اصلا در خواست و انجام تمرین دانشجویی ممونعه. دوستان راهنمایی های لازم هم کردن حالا دیگه خودت باید شروع کنی بنویسی و هر جا به مشکل بر خوردی بپرس ما هم کمکت میکنیم. اگر هم بلد نیستی که بلاخره باید یه کتاب بگیری بخونی.