PDA

View Full Version : جداسازی و جایگشت



cheshmak_boy
چهارشنبه 27 خرداد 1394, 11:05 صبح
سلام و خسته نباشید خدمت همه برنامه نویسان
چند سوال داشتم ، ممنون میشم پاسخ بدهید:قلب:
1. چطور می توان ارقام یک اعداد را برای انجام عملیاتی جدا کرد؟ مثلا اعداد زوج 13245675 این عدد را جدا کنیم تا بتوانیم آنها را باهم جمع کنیم یا بزرگترین آنها را بیابیم یا...
2 . چطور می توان با استفاده از توابع بازگشتی همه جایگشت های یک عبارت را بدست بیاوریم
مثلا ab دارای جایگشت aa و bb و ab و ba هستش...
3. چگونه می توان پرانتز گذاری یک عبارت ریاضی را بررسی کرد؟ یعنی مثلا در فرمول زیر
Sin (ax))+b یک پرانتز زیاد است؟

ehsan_faal
چهارشنبه 27 خرداد 1394, 15:26 عصر
سلام.جواب سوال 3 رو آقای بازرگان توی ابتدای این (http://maktabkhooneh.org/video?v=bazargan466-31) فیلم میدن(با استفاده از لینکد لیست)

stackprogramer
چهارشنبه 27 خرداد 1394, 18:21 عصر
برای سوال اولت باید از باقیمانده وخارج قسمت تقسیم استفاده کنی،به این صورت که مثلا عدد من 123 است ان را بر 10 تقسیم کن،حاصل باقیمانده اش می شه 3 ،رقم اول ما است بریز داخل اریه دسیمال،بعد خارج قسمت 123 بر 10 می شه 12،اون را به جای عدد قبلی جایگزین کرده،و بعد دوباره با عدد 12 شروع کن روند تکراری رو،12 باقیمانده اش بر 10 می شه 2، ودوباره خارج قسمت را بزیز به جای عدد 12 این هم تکه کدش


int dec[3];
int mynumber=123;
for(int i=0;i<3;i++)
{Decimal[i]=mynumber%10;
mynumber=mynumber/10;}



برای سوال سومت تو می تونی داخل کد سی با کد اسکی کارکنی،اول داده هایی را که می گیری به صورت رشته داخل ارایه strذخیره کردی،بعد شروع کنی به خواند تک تک کاراکتر ها کد اسکی شون را با کد اسکی "("و ") " مقایسه می کنی،اگر تعداد درست بودن این مقایسه با کد اسکی "(" براش کانتر iوبرای اون یکی کانتر j،باید اولین مرحله تعدادشون یکی باشه،حالا دومین مرحله اش باید ترتیبشون یکی باشه،که چند تا if دیگه باید اضافه اش کرد،ولی روند و اساس کار همینه:چشمک:



string str[100];
for(i=0;i<100;i++)
if(ascii_code str[i]==ascii_code ")")
i=i+1;
if(ascii_code str[i]==ascii_code "(")
j=j+1;
}


برای سوال دومتون من روش بازگشتی نمی رم،از دوتا حلقه for یک برای i،یکی برای j استفاده می کنم،که دو تا ماتریس که تمام درایه های اولی ، aدومی تماش b بعد با حلقه های فور تمام جایگشت هاشو می شازیم:اشتباه: