c p p

c p p

کدها و برنامه های سی پلاس پلاس ، ساختمان داده به زبان cpp، کدها و برنامه های اسمبلی،پروژه های آماده سی پلاس ،سی پلاس تحت داس
c p p

c p p

کدها و برنامه های سی پلاس پلاس ، ساختمان داده به زبان cpp، کدها و برنامه های اسمبلی،پروژه های آماده سی پلاس ،سی پلاس تحت داس

برنامه پیاده سازی استک و صف

با سلام.

این یک برنامه کوچک نوشته شده با توربو است که عملیات حذف و درج و نمایش در صف و پشته را

اجرا میکند.یک برنامه بسیار ساده فقط برای نشان دادن طرز کار اینها.(با تشکر از ironclip )

دانلود

برنامه کتابخانه با لیست پیوندی

بنام خدا.

این یک برنامه ساده کتابخانه بکمک لیست پیوندی است.در این برنامه لیستی از کتابها از کاربر دریافت میشوند.این کتابها را میشود رزرو کرد،اطلاعات آنرا ویرایش کرد، و برای کتابها عمل جستجو را اجام داد.برای تکمیل برنامه باید امکانات دیگر مثل تاریخ امانت و تابع کنترل تاریخ ،قابلیت کاربری برای چند نفر،و...را به آن اظافه کرد.

 

 

دریافت برنامه کتابخانه

ادامه مطلب ...

جزوه درسی ساختمان داده ها

باسلام خدمت دوستان. 

 

امروز من میخواستم جزوه درسی ساختمان رو براتون بذارم.این جزوه رو از اینترنت دانلود کردم.میذارم براتون حالشو ببرید.

 

لینک دانلود

جمع دو جمله ای با لیست پیوندی

سلام دوستان خوبم.

یکی از تمرین های ساختمان داده ، برنامه ای هست که دو عبارت دوجمله ای رو دریافت کنه و به کمک لیست پیوندی حاصلجمعشونو حساب کنه.

برنامه ای که اینجا گذاشتم همین کاررو انجام میده.منتها من یک کم گسترشش دادم.امکانات برنامه اظافه کردن چند دوجمله ای ، پاک کردن ، نمایش ، ساده کردن ، و جمع دو عبارت هستن.یک کلاس برای ساختن گره node هست که نما و ضریب رو در خودش نگه میداره ، یک کلاس برای پیوند دادن این گره ها وساختن دو جمله ای و کلاس دیگر هم برای لیست کردن این دو جمله ای ها و امکانات دیگه هست.  

 

برای ساده کردن دو جمله ای  در یک حلقه for هر بار یکی از داده های node را با تمام node های دیگر مقایسه میکنیم و در صورت برابر بودن اندیس دوم آنها مجموع در یکی از node ها قرارمیگیرد و node دیگری پاک میشود.این تابع ساده کردن هست:(لطفا کپیش کنید تو نوت پد) 

 

 void list::sade()
                                     {

  node *p=first; 

  node *q,*r;

  while(p->link!=NULL)
        {
         q=first;
         while(q->link!=NULL)
        {
         r=q;
         q=q->link;
         if(p->nama==q->nama && q!=p)
     {
      p->zarib+=q->zarib;
      r->link=q->link;
      q->link=NULL;
      q=r;
     }
        }
         p=p->link;
        }

    }

برای جمع کردن هم همین کار انجام میشه البته این بار حاصل جمع ها در یک لیست دیگر از node ها قرار میگیرند.  

 


  while(a->link!=NULL)
         {
   plusslist.insert(a->zarib , a->nama);
   a=a->link;
         }
  plusslist.insert(a->zarib , a->nama);
  while(b->link!=NULL)
         {
   plusslist.insert(b->zarib , b->nama);
   b=b->link;
         }
  plusslist.insert(b->zarib , b->nama);

  plusslist.sade(); 

 

 

در روش دیگه با استفاده از آرایه ها میتونید عبارت رو بصورت رشته دریافت کنید و در یک آرایه نما ها و ضرایب رو قرار بدید.فقط یه تابع اسکن برای تشخیص اعداد و علامت ها میخواد که کار سختی نیست.نمونش تو برنامه ماشین حساب تو همین وبلاگه.امیدوارم بتونه بهتون کمک کنه.

 برنامه دو جمله ای بکمک لیست پیوندی