مشاهده نسخه کامل
: مسابقه ی کوتاه ترین برنامه
hamed valizadeh
01-08-2008, 10:19
سلام
به فکرم رسید که برای ایجاد تنوع یک مسابقه بین اعضا برگزار کنیم که که به شرح زیر هست:
هر شنبه صورت سوال یک مساله ی برنامه نویسی آسان یا متوسط رو پست میکنیم و یک کد جواب رو به زبان C++ یا C رو هم می دهیم.
کاری که شما باید بکنید اینه که یک برنامه بنویسید که طولش از برنامه ی قبلی ای که توسط اعضا فرستاده شده کمتر باشه. در پایان هفته کسی که کوتاه ترین برنامه را تونسته بود بنویسه می تونه سوال هفته بعد رو خودش طرح کنه.
لطفا نظراتتون رو اعلام کنید تا اگه موافق بودین امشب صورت سوال هفته اول به همراه قوانین رو بفرستم.
سید حامد ولی زاده
Mina Mehdizadeh
01-08-2008, 10:48
پیشنهاده بسیار خوبیه ....ولی دیگه نمی خواد جوابو پست کنید .....هر سوال یه هفته وقت داشته باشه که تو این یه هفته بچه ها برنامه هاشون رو پست کنن و بعد گروه داوری قضاوت کنه مال کی بهتره .......:10:
hamed valizadeh
01-08-2008, 10:58
نه این مسابقه در مورد بهتر بودن نیست. کوتاه ترین سورس برنده میشه.
Mina Mehdizadeh
01-08-2008, 11:19
نمی دونم ...ایده اصلیش مال شماست .....ولی خوبی کد فقط به کوتاه بودنش نیست .......هر جور صلاح میدونید !
hamed valizadeh
01-08-2008, 11:21
اینو برای حساب کردن حجم کد (بدون در نظر گرفنن tab, space, new line و ...) نوشتم.
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدبرنامه ها تون رو تو اون کادر paste کنین
hamed valizadeh
01-08-2008, 11:25
نظر شما صحیح ولی اینجوری هیجان مسابقه خیلی زیاد میشه چون دیگه آخرای مسابقه حجم کد ها 1 بایت 1 بایت کم تر میشه و رقابت فشرده می شه.
نه این مسابقه در مورد بهتر بودن نیست. کوتاه ترین سورس برنده میشه.
گرچه کوتاه بودن خیلی اوقات مشکلات بسیاری پیش میاره، ولی ایده ی جالبی هست، به نظرم شما سوال اول رو بگزار (و یک چیز ساده هم بگزارید که دوستان بیایند، خیلی ها ممکن به دلیل کمبود وقت و سختی که نیاز به تامل و راه حل جستن هست منصرف بشوند در اول راه) و بعد ببین چقدر استقبال میشه، اگه خوب بود که ادامه می دید اگر هم نه :31:
مثلا بگید یک برنامه بنویسید که هشت عدد بگیره، از کوچک به بزرگ مرتب کنه و بگه کدام ها اول هستند و تعداد خطها در کل از بیست خط بیشتر نشه( ساده هست ولی خوب اگر قصد کوتاهی باشه این موضوعات بهتر هست - البته این رو مثال گفتم :31: )
موفق باشید.
اسم تاپیکو دیدم فکر کردم مثل مسابقه Tiny PE هست،ولی به نظر چیز دیگه میاد. :3:
Mina Mehdizadeh
01-08-2008, 11:37
اسم تاپیکو دیدم فکر کردم مثل مسابقه Tiny PE هست،ولی به نظر چیز دیگه میاد. :3:
این که میگید چیه ؟؟؟؟؟؟
hamed valizadeh
01-08-2008, 11:39
قوانین مسابقه:
1- برای هر سوال یک جواب نمونه ارسال می شود که حجم آن نه خیلی کم و نه خیلی زیاد می باشد.
2- کپی کردن برنامه ی نمونه یا برنامه های اعضا و ویرایش و ارسال آن ها با حجم کمتر هیچ گونه مانعی ندارد.
3- در صورتی که برنامه ای کامپایل نشود مورد قبول نیست.
4- سعی کنید که حجم برنامه ای که می نویسید از حجم آخرین برنامه ی ارسال شده کم تر باشد.
5- برنامه ی شما باید کاملا درست باشد، در غیر این صورت مورد قبول نیست.
6- کپی کردن برنامه ها از هر منبعی که در دسترس عموم است بدون ذکر منبع قابل قبول است.
7- برای اندازه گرفتن حجم کد از لینک زیر استفاده کنید.
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
خیلی خوبه ، باعث میشه برنامه نویسیمون خوب بشه ، من موافقم
این که میگید چیه ؟؟؟؟؟؟
تو این مسابقه باید کوچکترین فایل اجرایی معتبر (PE) رو ساخت. مثلا یکی تونسته بود یه برنامه 97 بایتی بسازه
hamed valizadeh
01-08-2008, 12:26
مسابقه از همین الان تا آخر هفته دیگه شروع میشه:
صورت سوال:
عددی را قرینه در مبنای 16 می نامیم که اگر آن را در مبنای 16 بر عکس بکنیم برابر با خودش است.
برای مثال عدد 1028 در مبنای 10 ، در مبنای 16 قرینه است زیرا : 404 = 404 (در مبنای 16)
ولی عدد 1026 در مبنای 10 ، در مبنای 16 قرینه نیست زیرا : 402 =! 204 (در مبنای 16)
برنامه ای بنویسید که که یک عدد N را از ورودی بگیرد و پس از آن N عدد را در مبنای 10 از ورودی بگیرد.
سپس از بین این اعداد، اعدادی را که در مبنای 16 قرینه اند را در مبنای 16 از کو چک به بزرگ بنویسد.
-تعداد اعداد حداکثر 100 تا است.
-هر عدد بین 0 تا 10000 است.
ورودی نمونه:
3
1028
1026
15
خروجی نمونه:
F
404
hamed valizadeh
01-08-2008, 12:27
حجم کد = 470
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
hamed valizadeh
01-08-2008, 13:48
حجم کد = 287
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
hamed valizadeh
01-08-2008, 14:03
چی شد؟
چرا کسی نمیاد؟
صورت سوال سخته؟
rf.ariyapoor
01-08-2008, 23:08
دوست عزیز بسیار بسیار تاپیک خوب و جالب و مفیدی زدی ممنون
آقا سوال این هفته رو کسی که جواب نداد من هم خودم جمعه 11/5/87 دیدم و نتونستم کاری بکنم برنامه هات هم بسیار جالب بود
خواهش هم دارم که تاپیک رو ادامه بده خواهشا من که واسه سوال هفته بعد آمادم و منتظر هستم
حتما سوال رو بذار و پیگیر تاپیک باش
ایشالا بچه ها هم یواش یواش میان
در ضمن یه کاری که به نظرم حتما باید انجام بشه اینه که در مورد برنامه هایی که مینویسیم آخر هر هفته که برنامه مورد نظر انتخاب میشه توضیح کاملی در موردش بدیم
این جوری تاپیکه خیلی مفیدی میشه
hamed valizadeh
02-08-2008, 09:21
سلام
خوب این سوال مال همین هفته است که شروع شده دیگه! امروزم شنبه است...
Mina Mehdizadeh
02-08-2008, 22:35
حجم کد = 287
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
آقا من کم اوردم.....این کدا رو برا تضعیف روحیه می ذارید ؟؟؟؟......
بچه ها سلام
با اينكه هنوز برنامه نويسي رو فرا نگرفته ام!!!
ولي با اين پيشنهادتون خيلي خيلي حال كردم ايول...
دعا كنيد منم ياد بگيرم
اينجا ميايم هر روز مسابقه با جايزه هاي نفيس!!!
يا حق (:
hamed valizadeh
03-08-2008, 10:07
خوب می تونید برا اینکه تاپیک آموزش هم داشته باشه سوالاتتون رو درباره ی طرز کار کد ها بگید؟
سلام دوست خوبم
راستش ديدم زبان برنامه نويسي شما c هستش
ولي من بايد vb ياد بگيرم
آخه براي امتحان بايد ياد بگيرم كه قبول شم...
يا حق (:
نمي شه ديگه كد نمونه نذارين؟
اين كد كه گذاشتين خيلي خوبه كه! چي از اين بهتر بذاريم آخه!!!
hamed valizadeh
03-08-2008, 12:53
باشه از هفته دیگه کد نمی ذارم تا کم کم خودتون با روش های کوتاه کردن کد آشنا شین.
NARAFIGH2
04-08-2008, 00:08
عاليه حيف وقت ندارم
سلام دوست خوبم
راستش ديدم زبان برنامه نويسي شما c هستش
ولي من بايد vb ياد بگيرم
آخه براي امتحان بايد ياد بگيرم كه قبول شم...
يا حق (:
عاليه حيف وقت ندارم
دوستان عزیز لطف کنید پستها بی ربط ندید همین الآن هیچی نشده 3 صفحه شد تاپیک! اگر جواب دارید کوتاهتر پست کنید اگر نه که دیگه این که شما vb کارید و c بلد نیستید و یا وقت ندارید به دوستان این انجمن هیچ مربوط نمیشه!
لطف می کنید.
نمي شه ديگه كد نمونه نذارين؟
اين كد كه گذاشتين خيلي خوبه كه! چي از اين بهتر بذاريم آخه!!!
دقیقا من هم این هفته کمی سرم خلوت بود، نشستم یک دستی یه کد اول بکشم دیدم یک کد دوم آقا حامد پست داد! دیگه تمام، این هفته رو بی خیال شدم
int f(int n)
{
j = s = 0;
e = 15;
do {
s <<= 4;
s += (n&e)>>j;
e <<= 4;
j += 4;
} while (e>>4 < n);
return s == n;
}
آقا حامد لطف می کنی این قسمت رو توضیح بدی مخصوصا آنجا که رنگی کردم...ممنون
hamed valizadeh
04-08-2008, 09:37
سلام
تابع F میاد قرینه n رو در s قرار می ده و در خط آخر تابع هم همونطور که میبینین اونا رو با هم مقایسه میکنه.
حالا در مورد چگونگی حساب کردن قرینه:
همون طور که می دونید اگه م یه عدد رو در مبنای دو 4 رقم 4 رقم از هم جدا کنیم هر کدوم از این 4 رقم ها برابر با 1 رقم در مبنای 16 می باشند. چون که 16 = 2 به توان 4
برای مثال برای عدد 1011100 روش کار اینه
------- اول اونو 4 تا 4 تا از سمت راست جدا می کنیم =1100، 101
------- هر کدوم از رقم ها رو در مبنای 16 می نویسیم 2(1100) = 10(12) = 16(C) و 2(101) = 10(5) = 16(5)
------- ------- پس عدد مورد نظر در مبنای 16 برا بر است با 16(5C)
خوب حالا به راحتی میتونیم نتیجه بگیریم که می تونیم قرینه ی یک عدد رو در مبنای 16 میشه بدون تبدیل اون عدد به مبنای 16 بدست آورد به طوری که اول اون عدد رو در مبنای 2 می نویسیم و 4 تا 4 تا رقم ها شو جدا میکنیم و اونا رو بر عکس می کنیم.
برای مثال برای عدد 1011100 روش کار اینه
------- اول اونو 4 تا 4 تا از سمت راست جدا می کنیم =1100، 101 و آخر اونایی که کمتر از 4 رقم دارن 0 اضافه می کنیم تا 4 رقمی بشن = 1100، 0101
------- سپس اونارو برعکس می کنیم : =0101، 1100
------- خب اگه این عدد رو به مبنای 16 ببریم میبینیم که برابر است با 16(C5)
خوب این دوتا عدد رو با هم مقایسه میکنیم و میبینیم که با هم فرق می کنن پس 10(92) در مبنای 16 قرینه نیست.
حالا اینم توضیحات برنامه اگه می خواین بهتر متوجه شین یه کاغذ وردارین و یه ورودی فرضی (مثلا همین 92) بهش بدین رو رو کاغذ کار برنامه رو خط به خط دنبال کنین.
موفق باشید.
rf.ariyapoor
04-08-2008, 14:20
سلام
تابع F میاد قرینه n رو در s قرار می ده و در خط آخر تابع هم همونطور که میبینین اونا رو با هم مقایسه میکنه.
حالا در مورد چگونگی حساب کردن قرینه:
همون طور که می دونید اگه م یه عدد رو در مبنای دو 4 رقم 4 رقم از هم جدا کنیم هر کدوم از این 4 رقم ها برابر با 1 رقم در مبنای 16 می باشند. چون که 16 = 2 به توان 4
برای مثال برای عدد 1011100 روش کار اینه
------- اول اونو 4 تا 4 تا از سمت راست جدا می کنیم =1100، 101
------- هر کدوم از رقم ها رو در مبنای 16 می نویسیم 2(1100) = 10(12) = 16(C) و 2(101) = 10(5) = 16(5)
------- ------- پس عدد مورد نظر در مبنای 16 برا بر است با 16(5C)
خوب حالا به راحتی میتونیم نتیجه بگیریم که می تونیم قرینه ی یک عدد رو در مبنای 16 میشه بدون تبدیل اون عدد به مبنای 16 بدست آورد به طوری که اول اون عدد رو در مبنای 2 می نویسیم و 4 تا 4 تا رقم ها شو جدا میکنیم و اونا رو بر عکس می کنیم.
برای مثال برای عدد 1011100 روش کار اینه
------- اول اونو 4 تا 4 تا از سمت راست جدا می کنیم =1100، 101 و آخر اونایی که کمتر از 4 رقم دارن 0 اضافه می کنیم تا 4 رقمی بشن = 1100، 0101
------- سپس اونارو برعکس می کنیم : =0101، 1100
------- خب اگه این عدد رو به مبنای 16 ببریم میبینیم که برابر است با 16(C5)
خوب این دوتا عدد رو با هم مقایسه میکنیم و میبینیم که با هم فرق می کنن پس 10(92) در مبنای 16 قرینه نیست.
حالا اینم توضیحات برنامه اگه می خواین بهتر متوجه شین یه کاغذ وردارین و یه ورودی فرضی (مثلا همین 92) بهش بدین رو رو کاغذ کار برنامه رو خط به خط دنبال کنین.
موفق باشید.
دوست عزیز این چیزایی که شما گفتید همه درست
چند تا سوال داشتم:
1.عملگر >> یا << همون شیفت به چپ . شیفت به راست هست دیگه
2. s+=(n&e)<<j توی اینجا چرا n و e رو &کردی اصلا این خط چه کار میکنه ؟
3.eرو که مساوی 15 گذاشتی چه کار میکنه ؟
4.کلا تابع f رو توضیح بدی ممنون میشم:20:
hamed valizadeh
04-08-2008, 17:35
سلام
1. بله
2 و 3 . همون طور که میدونی در اول مقدار e عدد 10(15) یا 2(1111) هست زیرا وقتی هر عددی رو با e، & کنیم عدد حاصل برابر با 4 بیت اول اون عدد میشه برای مثال 1111 & 10111001 = 1001 و در دور دوم while مقدار e برابر با 11110000 میشه چون که این دور ما 4 بیت دوم رو می خوایم پیداکنیم برای مثال 11110000 & 10111001 = 10110000. مقدار j برای از بین بردن 0 های اضافه ی جلوی عدد است. برای مثال در دور دوم 4 عدد 0 اضافه جلوی عدد است و ما اون رو j بار به سمت راست شیفت می دیم، به همین دلیل j هر دفعه 4 تا اضافه میشه.
4. کل این حرفایی که تو این دو تا پست بود رو بزار جواب این سوال!
KEEP POSTING
سلام
1. بله
2 و 3 . همون طور که میدونی در اول مقدار e عدد 10(15) یا 2(1111) هست زیرا وقتی هر عددی رو با e، & کنیم عدد حاصل برابر با 4 بیت اول اون عدد میشه برای مثال 1111 & 10111001 = 1001 و در دور دوم while مقدار e برابر با 11110000 میشه چون که این دور ما 4 بیت دوم رو می خوایم پیداکنیم برای مثال 11110000 & 10111001 = 10110000. مقدار j برای از بین بردن 0 های اضافه ی جلوی عدد است. برای مثال در دور دوم 4 عدد 0 اضافه جلوی عدد است و ما اون رو j بار به سمت راست شیفت می دیم، به همین دلیل j هر دفعه 4 تا اضافه میشه.
4. کل این حرفایی که تو این دو تا پست بود رو بزار جواب این سوال!
چه جالب
واقعا يه كد خلاقانه بود
rf.ariyapoor
05-08-2008, 09:02
آقای حامد ولی زاده ممنون
واقعا کد جالبی بود
mehdidelphi
05-08-2008, 10:56
با سلام
شروع این مسابقه کی و چطوریه؟
mehdidelphi
05-08-2008, 10:58
با سلام
شروع مسابقه کی و چطوریه؟
ببخشيد اما مثل اينكه ديگه سؤالي نيست كه طرح كنيد.
من تازه كارم(خيلي نه) و خيلي دوست دارم مهارتم رو بسنجم.ممنون ميشم كه اين مسابقه رو ادامه بديد تا بچه ها بيشتر دستشون به كد نويسي عادت كنه.
در ضمن اگه از استاندارد هاي كد نويسي هم در امتياز دهي استفاده بشه خيلي بهتره .مثلآ چگونگي مرتب كردن خط ها در يك تابع و از اين جور كارها تا بچه ها با دنياي استاندارد كار كنن.
بازم ممنون.پس منتظريم ها.
hamed valizadeh
05-08-2008, 13:57
چه جالب
واقعا يه كد خلاقانه بود
خواهش می کنم.
آقای حامد ولی زاده ممنون
واقعا کد جالبی بود
دوباره خواهش می کنم!
با سلام
شروع این مسابقه کی و چطوریه؟
هر شنبه یه صورت سوال رو کسی که برنده شده پست می کنه. (به پست قوانین مراجعه شود.)
ببخشيد اما مثل اينكه ديگه سؤالي نيست كه طرح كنيد.
من تازه كارم(خيلي نه) و خيلي دوست دارم مهارتم رو بسنجم.ممنون ميشم كه اين مسابقه رو ادامه بديد تا بچه ها بيشتر دستشون به كد نويسي عادت كنه.
در ضمن اگه از استاندارد هاي كد نويسي هم در امتياز دهي استفاده بشه خيلي بهتره .مثلآ چگونگي مرتب كردن خط ها در يك تابع و از اين جور كارها تا بچه ها با دنياي استاندارد كار كنن.
بازم ممنون.پس منتظريم ها.
نه، تا دلتون بخواد صورت سوال هست که طرح بشه!
می تونین از همین الان شروع کنین.
چون این برنامه ها باید به کوتاه ترین حد باشند ممکنه از استاندارد خارج شن ولی در آینده ی نزدیک یه تاپیک برای کار روی الگوریتم ها و کلا کد نویسی استاندارد و خوب درست میکنم.
Mina Mehdizadeh
05-08-2008, 15:12
در آینده ی نزدیک یه تاپیک برای کار روی الگوریتم ها و کلا کد نویسی استاندارد و خوب درست میکنم
اگه میشه زودتر این لطف رو بکنید ( چون خیلی بهش نیاز دارم ....ممنون )
ما منتظر سؤاليم.
ايشالا كه بتونه مفيد باشه اين تاپيك كه حتمآ هم هست.
سلام
نشود که به شه ولی شاید که دفعه بعد بشه
به هر حال این کد می زارم تا حامد جان فکر نکنه تنهاست و کار زیباشو ادامه بده
حجم کد:292
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
حجم کد:278
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
hamed valizadeh
06-08-2008, 09:09
حجم کد = 255
سلام
ایده خوبی بود. ممنون که بهم روحیه دادی :31:. اگه دقت کنی تو صورت سوال نوشته باز کوچک به بزرگ. من این کارو با تابع sort انجام میدم.
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
بچه ها صورت سؤال رو هم بگيد تا ببينيم چه ميشه كرد.
ايول.ايشالا داره پا ميگيره اين تاپيك.
ممنون
hamed valizadeh
06-08-2008, 11:56
بچه ها صورت سؤال رو هم بگيد تا ببينيم چه ميشه كرد.
ايول.ايشالا داره پا ميگيره اين تاپيك.
ممنون
من که گفتم هر شنبه صورت سوال قرار می گیره
سلام
نشود که به شه ولی شاید که دفعه بعد بشه
به هر حال این کد می زارم تا حامد جان فکر نکنه تنهاست و کار زیباشو ادامه بده
حجم کد:292
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
پس اين چيه؟
ميشه بگيد چيكار ميكنه؟
كد ها رو ميگم.
سلام
این کد مربوط به همون مسابقه اوله که در کد دوم حجمش کمتر شده البطه نقصهم داشت که حامد جان اشاره کرده بود اگه تونستم هم نقصشو رفع کنم و هم حجمشو کم کنم (ولی با این الگریتم فکر کنم سخته ) کد جدیدو دوباره می زارم وگرنه به اومید خدا هفته آینده :12:
ميگم نميشه سؤالو زودتر بگيد؟
من اين هفته از شنبه بيرونم نميفهمم سؤالو.
ممنون
hamed valizadeh
09-08-2008, 05:59
خوب، اینم صورت سوال این هفته. بنا به در خواستتون دیگه کد نمونه نمی ذارم.(یا نمی زارم!)
صورت سوال:
به ساختار مجموعه های زیر توجه کنید:
دور اول:
0
1
دور دوم:
00
01
11
10
دور سوم:
000
001
011
010
110
111
101
100
دور چهارم:
0000
0001
0011
0010
0110
0111
0101
0100
1100
1101
1111
1110
1010
1011
1001
1000
اگر به این اعداد دقت کرده باشید در هر مرحله اعداد مرحله قبل یک بار به همان صورت و یک با به صورت بر عکس قرار می گیرند و سپس به انتهای دسته اول 0 و به انتهای دسته دوم 1 اضافه می شود.
برنامه شما باید دو عدد n و m را از ورودی دریافت کند و mامین عدد دور nام را در مبنای ده به ما بدهد.
n حداکثر 8 می با شد.
ورودی نمونه
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
خروجی نمونه
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
rf.ariyapoor
09-08-2008, 08:35
دوست عزیز با توضیحاتی که دادی فکر کنم مرحله اول رو اشتباه نوشتی و باید به این صورت باشه:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
hamed valizadeh
09-08-2008, 19:57
بله حق با شما بود.
ممنون
hamed valizadeh
13-08-2008, 21:53
سلام
چرا کسی کد نمی فرسته؟
خودتون خواسته بودین کد نمونه نفرستم.
مشکل چیه؟ سوال سخته؟
rf.ariyapoor
14-08-2008, 00:27
سلام حامد جان
عزیز در مورد خود من که یکم همت پایینه و اینکه این هفته خدایی سرم شدید شلوغ بود و اینکه تازه دارم به دنیای لینوکس وارد میشم و تازه تازه دارم این دنیا رو درک میکنم همش این چند روزه تو لینوکسم و سرگرم کار کردن با اون به دوستانی که با لینوکس کار نکردن پیشنهاد میکنم اصلا از دستش ندن:46:
سعی می کنم تو این چند روز یه کاراییش بکنم سوال رو
سلام
این جواب منه
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
راستی حجم کد رو چجوری باید حساب کرد؟
hamed valizadeh
15-08-2008, 15:50
سلام، برنامه شما ورودی نمونه رو درست جواب نمیده.
برای حساب کردن حجم کد به لینک زیر مراجعه شود:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
rf.ariyapoor
15-08-2008, 19:55
سلام
این جواب منه
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدراستی حجم کد رو چجوری باید حساب کرد؟
دوست عزیز من برنامتو امتحان کردم فکر کنم درست جواب نمی داد
من 4 و 5 رو وارد کردم اما 4 جواب داد در صورتی که باید 6 جواب می داد. حتی جواب منفی هم از برنامت گرفتم
من این برنامه رو نوشتم فقط شرمنده که دیر شد گفتم که شدیدا این هفته سرم شلوغ بود
حجم کد :351
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدالبته با برداشتن یه سری از خط ها مثل :
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدحجم کد پایین تر می آد:46:
حامد جان ایشالا سوال هفته بعد رو زود تر بذاری
این دفعه زود تر شروع میکنم و ایشالا دوستان بیشتری ما رو همراهی خواهند کرد
rf.ariyapoor
16-08-2008, 17:11
حامد جان منتظر سوال هفته بعد هستیم
hamed valizadeh
16-08-2008, 17:23
ورودی
3z
خروجی
zzz
ورودی
4a3b
خروجی
aaaabbb
ورودی
1a
خروجی
a
ورودی
abc2a
خروجی
abcaa
باتوجه به ورودی و خروجی های بالا یک برنامه بنویسید که یک رشته را دریافت کرده و مانند بالا عمل کند. حد اکثر طول رشته 10 کاراکتر می باشد.
اعداد قبل از حروف بین 1 تا 9 می باشند.
سلام بچه ها
هستم نیستم بازی خرابه.
این یعنی منم هستم.(البته اگه اجازه بدین)
hamed valizadeh
16-08-2008, 21:40
این جا برای همه آزاده، خوشحال می شم به جمعمون بپیوندین
mahdi_pc
17-08-2008, 11:05
حجم کد: 198
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
سلام
این کد اولییه اگه شد mp3 یا mp4 رو هم میفرستم
حجم :217
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
راستی می بخشید که هفته پیش جواب ندادم راستش هم سخت بود هم من فکرم درگیر
موفق باشید:11:
hamed valizadeh
17-08-2008, 12:14
سلام آقای r.gh45 من وقتی به کدتون 1a1a رو می دم جواب میده a1a این مشکل رو برطرف کنین.
سلام آقای mahdi_pc کوتاه کردن کد یعنی این که تا آخرین حدی که می تونین کد رو کوتاه کنین یعنی مثلا به جای str از s استفاده کنین یا به جای while(str[i]!=0) از while(str[i]) استفاده کنین.
کدی که من نوشته ام حجمش 138 تا هست. که انشالا پایان هفته پستش می کنم.
ممنون
سلام
می شه c++ 4.5 IN WIN رو برای دانلود برای من بزارین
حجم 207
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
من تست کردم درست جواب داد برای 1a1a
mahdi_pc
17-08-2008, 13:47
خوب باشه اینم با حجمه :164
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
سلام
می بخشید من صورت سوالو درست متوجه نشدم
بعد عدد فقط باید کارکتر بعد اونو به تعداد اون عدد تکرار کنه یا رشته بعد عدد تا عدد بعدی (برنامه من کار دوم می کنه واین حجمشو بالا می بره ولی برنامه جناب mahdi_pc از نوع اوله)
مثال
asd2gh
جواب
asdghgh
hamed valizadeh
17-08-2008, 14:15
سلام
می شه c++ 4.5 IN WIN رو برای دانلود برای من بزارین
برای C++ در ویندوز یکی از بهترین گزینه ها Dev-C++ است:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
در صورتی که سوال از نوع اول باشه
حجم:148
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
rf.ariyapoor
17-08-2008, 17:44
سلام دوستان
میبینم که بچه ها زیاد شدن
فعلا اینو نوشتم بگم که هستم:31::46: اما حجمش زیاده
حجم کد:203
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدفکر کنم که نباید از header رشته ها استفاده کنم چون خود string کلی حروف داره یه iterator هم بخوای ازش بسازی کلی حرف اضافه میکنه
حامد جان من فکر کنم این لینکی که گذاشتی تعداد حروف رو میشمره درسته؟
اگه این طوره خوب یه سری ها از هدر های جدید و namspace استفاده میکنن بعضی ها از هدر های قدیمی که namespace نمیخواد همین کلی تو حجم کد ها تاثیر میذاره:41:
aria_infinity
17-08-2008, 18:50
سلام. ببخشید خیلی بده که حجم کد تعداد کارکتر هاست طرف میاد حروف و کم میکنه حجم میاد پایین. . . شما استاده ما هستید ولی یکی با کد بهتر حجمو میاره پایین یکی با کم کردن حروف... این 2 تا خیلی فرق داره...
aria_infinity
17-08-2008, 18:58
سایز کد:145
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
همبن کدو با کم کردن حروف میشه به 138 رسوند ولی خ.ب ارزش نداره که...
rf.ariyapoor
17-08-2008, 20:05
آقا من اومدم یه کد دیگه بنویسم شد چیزی که r.gh45 تو پست 66 داد فکر نکنم خیلی بیشتر از این بشه حجم رو پایین آورد اگه هم بشه ارزش خاصی نداره که ما رو تعداد کلمات کد کار کنیم چون دیگه محتوای اصلی کد مشخص شده
سوال این هفته هم نسبت به هفته پیش خیلی ساده تر بود به نظر من واسه این هفته یه سوال دیگه بذارید این سوال رو خیلی زود می شد نوشت
البته این نظر منه بقیه دوستان هم نظر بدن
hamed valizadeh
18-08-2008, 10:35
خب اگه همه موافقن من سوال جدید رو تا عصر بزارم؟
اینم کد من، حجم = 138
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
توضیح درباره کد:
می بینید که به جای include از import استفاده کردم و 1 واحد حجم کد کمتر شده.
برای تعریف متغیر فقط یک بار از char استفاده کرده ام. و حتی متغیر i رو هم از نوع char گرفتم.
از gets برای ورودی استفاده کرده ام.
برای حلقه ام چون هنگامی که c[i] باید 0 باشد باید خارج شود از شرطی استفاده نکرده ام چون 0 == false.
بقیه اش هم که مشخصه.
سلام
منم با نظر بچه ها نسبتا موافقم ولی سوالی که پیش می یاد اینه که :
چه جوری میشه کد بهینه رو تشخیص داد (یک راه محاسبه مرتبه زمانی که توی درس ساختمان خوندیم) و کسی این راه کار رو می تونه به صورت یک روتین مشخص واستاندارد در بییاره مثل لینکی که حامد جان تهیه کرده و الان داریم ازش استفاده می کنیم و یا همچین چیزی به صورت آماده وجود داره؟
سوال کردن آسونه؟؟؟
جواب : می دونیم که هر زبان برنامه نویسی یک کامپایلر مخصوص خودشو داره که می یاد دستوراتی رو که ما مینویسیم تبدیل به زبان ماشین(اسمبلی) می کنه من پیشنهاد می کنم تمام کسانی که می خوان در این مسابقه شرکت کنن از ورژن مشخص از زبان c استفاده کنن و بعد بیایم تعداد دستوراتی که به زبان ماشین تبدیل شده رو بشماریم مثلما هر کی تعداد کد کمتری داشته باشه سرعت اجرای دستوراتش بیشتر می شه (در ضمن بعضی از شرکتهای برنامه نویسی بزرگ برای افزایش سرعت برنامه هاشون می یان بعضی از نقاط برنامه رو با زبان اسمبلی می نویسن بیشتر در نوشتن سیستمهای عامل این عمل انجام می شه البته نوع الگریتم مورد استفاده خیلی مهمتره و من به شخصه دوست دارم بشه از طریق مرتبه زمانی عمل کرد))
hamed valizadeh
18-08-2008, 11:04
سلام
شما درست می گید اما همیشه کوتاه ترین کد سریع ترین نیست ممکنه یک کد 50 خطی شما به خاطر بهینه سازی به 100 خط برسه اما سریع تر میشه.
اینم سوال جدید:
پر نامه ای بنویسید که دو عدد N و M را بگیرد و بگوید چند درصد اعداد بین N و M اول می باشند؟ درصد ها را تا دو رقم اعشار بنویسید. N و M از 1000 کوچکترند.
ورودی نمونه
1 2
5 10
1 10
خروجی نمونه
50.00
33.33
40.00
راستی هر کدوم از شما هم سوال برای طرح کردن دارین به من Pm بزنید.
این کد بهینه جناب حامده
حجم 131
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
aria_infinity
18-08-2008, 11:20
حجم کد 130
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
آریا جان فدای اون اسم زیبات و غرور آفرینت حداقل تعدادکاراکتر باید 10 تاباشه
این 128 تای ولی به دلم نمیچسبه چون کدش مال حامده
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
aria_infinity
18-08-2008, 12:48
r.gh45 ([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]) سلام ببخشید مگه وقتی c[9] باشه و i از 0 شروع بشه 10 تا نمیشه؟؟ c[0]c[1]c[2]c[3]c[4]c[5] c[6]c[7]c[8]c[9 درست نیست؟
aria_infinity
18-08-2008, 13:04
خواهش میکنم قربان... بریم برنامه بعدی اصلا خوب نیست حروف کم کنیمو حجم بیاریم پایین...:46::46:
rf.ariyapoor
18-08-2008, 14:18
r.gh45 ([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]) سلام ببخشید مگه وقتی c[9] باشه و i از 0 شروع بشه 10 تا نمیشه؟؟ c[0]c[1]c[2]c[3]c[4]c[5] c[6]c[7]c[8]c[9 درست نیست؟
اون چیزی که r.gh45 گفت من فکر کنم که کاملا درسته چون همیشه آخرین عنصر مربوط میشه به :
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدکه نماینگر پایان رشته هستش
یعنی ما هر وقت خواستیم که یه رشته n تایی داشته باشیم باید آرایه n+1 تایی براش بگیریم که عنصر آخر نمایانگر پایان رشته هستش
این مطلب رو من فکر کنم تو قسمت رشته ها تو کتاب جعفر نژاد هم گفته باشه
aria_infinity
18-08-2008, 16:04
درسته ولی اینجا شرطی وجود نداره که بخواد /0 رو چک بکنه و کاری انجام بده پس از جای /0 هم میشه استفاده کرد...
rf.ariyapoor
18-08-2008, 16:26
درسته ولی اینجا شرطی وجود نداره که بخواد /0 رو چک بکنه و کاری انجام بده پس از جای /0 هم میشه استفاده کرد...
این حرف از شما بعیده:18::18:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدتوی کد اینجا که قرمز شده یعنی چی ؟؟
یعنی تا وقتی که به پایان رشته نرسیدیم حلقه رو ادامه بده
حالا شما امتحان کن
مثلا شما دادی:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدبرنامه رو اجرا کن و دقیقا یک رشته 9 تایی وارد کن
نتیجه اینه که کار رو انجام میده اما آخر کار پیغام خطا میده
واسه یه رشته 10 تایی هم باید آرایه 11 عنصری بگیریم
دیگه کوتاه کردن کد به چه قیمتی ؟ به قیمت خطا های زمان اجرا ؟؟؟؟؟؟؟؟؟؟؟؟:18::18::18::18::18::18:
aria_infinity
18-08-2008, 17:06
حق با شماست ...ولی باز با این حال اینم کامپایل میکنم جواب میده نمی دونم چرا... شما همین کدی که بالا دادی رو تست کن ببین چی میگه با c[9]... من جک می کنم چاپ میشه... :41::41:
aria_infinity
18-08-2008, 17:27
کد آخرین برنامه... سایز : 207
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
rf.ariyapoor
18-08-2008, 17:59
عزیز میدونم که جواب میده اما واسه یه رشته 9 تایی هم جواب میده ؟
واسه رشته های 9 تایی جواب میده اما آخرش ارور میده چون میره تو آدرس هایی که معلوم نیست به کجا اشاره میکنن
aria_infinity
20-08-2008, 16:41
پس چرا هیچ کس کد نمیزاره؟؟؟؟......:41::41:
چون كدي كه نوشتي خوبه!
تازه هنوزم مي توني كمش كني
حجم کد : 177
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
aria_infinity
22-08-2008, 01:50
حجم کد 200
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
hamed valizadeh
22-08-2008, 08:18
آقای sajadmg کد شما یک سری مشکلات داشت که اگه مقایسه کنید میفهمید. حجم = 167
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
hamed valizadeh
22-08-2008, 12:45
size = 160
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
آقای sajadmg کد شما یک سری مشکلات داشت که اگه مقایسه کنید میفهمید. حجم = 167
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
آره خوب اینطوری بهتر شد
[/LEFT]
rf.ariyapoor
22-08-2008, 19:07
بچه ها من یه پیشنهاد دارم
آقا بعد 2 3 هفته که سعی کردیم برنامه هامون رو کوتاه کنیم من پیشنهاد میدم که حالا یه تاپیک دیگه راه بندازیم که برنامه ها بهینه تر و با زمان کمتر و حافظه کمتر باشه
الان تغریبا برنامه هایی که گذاشته میشن ساده هستن و فقط باید رو تعدا کاراکتر هاش کار کنیم که اونم یه سری راه ها داره که تو این 2 3 هفته یه چیزاییش مشخص شده و عموما معلومه که باید چی کار کنیم فقط باید یه سری سوال ساده رو حل کرد
مثلا همین سوال اعداد اول رو اگه میخواستیم کد بهینشو بسویسیم خیلی مفید تر میشد و الگوریتم های تازه یاد میگیریم
حالا بقیه ببینن نظرشون چیه:12::12:
hamed valizadeh
22-08-2008, 19:44
سلام
ایده خوبیه ولی...
...مقایسه بهینه بودن برنامه ها از نظر زمانی در محیط ویندوز کار معقولانه ای نیست ولی میتونیم یک کار دیگه بکنیم یکی مسئول اندازه گیری زمان اجرای برنامه بشه و اونا رو تو سیستم عامل داس اجرا کنه. و بقیه هم فایل های exe رو آپلود کنند.
آره اينجوري بهتره.
اينجوري رو كيفيت بيشتر كار ميشه تا اندازه.
rf.ariyapoor
22-08-2008, 21:04
سلام
ایده خوبیه ولی...
...مقایسه بهینه بودن برنامه ها از نظر زمانی در محیط ویندوز کار معقولانه ای نیست ولی میتونیم یک کار دیگه بکنیم یکی مسئول اندازه گیری زمان اجرای برنامه بشه و اونا رو تو سیستم عامل داس اجرا کنه. و بقیه هم فایل های exe رو آپلود کنند.
ما میتونیم واسه زمان بیایم اردر رو حساب کنیم
البته این هم ایده جالبی هست که بیایم زمان رو خودمون بدست بیاریم یعنی در واقع برنامه ها رو با داده های یکسان مقایسه کنیم
hamed valizadeh
22-08-2008, 21:20
آخه ممکنه اردر دو برنامه یکسان باشه ولی در یکی بهینه سازی های بهتری انجام شده باشه.
rf.ariyapoor
22-08-2008, 22:04
خوب در مورد این موارد میشه بحث کرد واسه هر برنامه
مهم اینه که ما در مورد این مسایل بحث کنیم و تو برنامه ها باهاشون درگیر شیم و آخر به یه نتیجه ای برسیم
حالا زیاد مهم نیست که چه کسی برنده میشه
فقط ميشه بگيد با ++c مينويسيد يا c ؟
آخه من هنوز اولاي كار c هستم.
ممنون
hamed valizadeh
22-08-2008, 22:49
اگه بخوایم زمان اجرا رو در نظر بگیریم محدودیت زبان نداریم فقط باید exe بفرستید.
aria_infinity
22-08-2008, 23:42
منم با اینکه زمان اجرا هم مد نظر باشه موافقم... :8:
سلام
می بخشید ولی من متوجه نشدم شما چی شکلی می خواید زمان اندازه بگیرید؟ مثلما به صورت دستی (تایمر ) که نیست چون با توجه به سرعت بالای کامپیوتر ها زمان الگریتم های مختلف در حد میکرو ثانیه (شاید کمتر ) با هم فرق می کنه .
گه بخوایم زمان اجرا رو در نظر بگیریم محدودیت زبان نداریم فقط باید exe بفرستید. اگه می خواید روی الگوریتم ها کار کنیم نه تنها باید زیان بر نامه نویسی یکی باشه حتی باید نوع کامپایلری که استفاده می کنیم یکی باشه . ولی اگه مساله فقط الگریتم نیست اون وقط پای زیان اسمبلی هم می یاد وسط و با توجه به بالا رفتن حجم کار زمان بیشتر هم نییاز داریم که اون وقت فکر می کنم همین سه چهار نفر هم جا بزنن(بگو خدا نکنه)
rf.ariyapoor
23-08-2008, 07:17
سلام
می بخشید ولی من متوجه نشدم شما چی شکلی می خواید زمان اندازه بگیرید؟ مثلما به صورت دستی (تایمر ) که نیست چون با توجه به سرعت بالای کامپیوتر ها زمان الگریتم های مختلف در حد میکرو ثانیه (شاید کمتر ) با هم فرق می کنه .
اگه می خواید روی الگوریتم ها کار کنیم نه تنها باید زیان بر نامه نویسی یکی باشه حتی باید نوع کامپایلری که استفاده می کنیم یکی باشه . ولی اگه مساله فقط الگریتم نیست اون وقط پای زیان اسمبلی هم می یاد وسط و با توجه به بالا رفتن حجم کار زمان بیشتر هم نییاز داریم که اون وقت فکر می کنم همین سه چهار نفر هم جا بزنن(بگو خدا نکنه)
نه عزیز برادر از تایمر استفاده نمیشه بلکه از خود توابعی که زمان رو اندازه میگیرن استفاده میکنیم به نظر من این خیلی مهم نیست که زمان اجزا چه کسی پایین تر هست فقط این مهم هست که ما روی بهینه کردن الگوریتم ها با هم کار کنیم و با الگوریتم های بهینه و ایده های هم آشنا بشیم تا یه چیزی یاد گرفته باشیم
سلام
به نظر من واسه زمان بهنیه می تونیم یه تاپیک جدا داشته باشیم چون این دو موضوع کاملا متفاوته این تاپیک خوبه وامیدوارم ادامه پیدا کنه.
منتظر سوال بعدیتون می مونم.
aria_infinity
24-08-2008, 17:59
:41:سلام آقا حامد عزیز لطفا سوال جدید بذارید... پس چرا ادامه نمیدید؟؟؟؟؟:41:
hamed valizadeh
25-08-2008, 16:07
ببخشید من 4 روز اردو بودم امروز رسیدم سعیمو می کنم که سوال جدید رو هر چه زود تر بزارم؟ بذارم؟ (آخرش املای این کلمه رو یاد نگرفتم!!!)
سلام
فکر نمی کنم بررسی زمان اجرا سخت باشه به شرطی که الگوریتم ها رو بفرستند نه فایل exe. اگر exe بفرستند که واقعا به کمپایلر بستگی پیدا می کنه. اما اگه الگوریتم بفرستند (و نه حتی کد) اونوقت با موئلفه های Time Cimplexity میشه بررسی کرد سرعتها رو. حتما اینجا چند نفری «ساختمان داده» یا «طراحی الگوریتم» پاس کردن و می تونن بشن تیم داوری!
به هر حال کوتاه بودن برنامه برتری مهمی نیست. برتری اصلی با کم بودن زمان و حافظه (RAM) مورد نیاز برای برنامس!
مثلا برای اینکه یک برنامه کوتاه بشه می تونین چندین آرایه تعریف کنین که کلی فضا بگیره اما واقعا هیچ وقت نباید یه برنامه نویس همچین کاری بکنه! البته این پست شماست و شما تعیین کننده سیاست مسابقه هستید!
پس سؤال چي شد؟
ما كه منتظريم.
hamed valizadeh
31-08-2008, 22:07
دوستان به نظر من بهتره بریم سراغ بحث های الگوریتمی بهتره
يعني چجوري؟
مثلآ الگوريتمي كه در مورد حل يه سؤال داريم بديم؟
ما كه همه جوره اگه در توانمون باشه هستيم.
پس سؤال با شما ديگه.
ممنون.
rf.ariyapoor
01-09-2008, 20:33
دوستان به نظر من بهتره بریم سراغ بحث های الگوریتمی بهتره
من هم با این مورد موافقم
hamed valizadeh
01-09-2008, 20:42
پس ایجاد تاپیک جدید واگذار میشه به آقای rf.ariyapoor ([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ])
rf.ariyapoor
03-09-2008, 00:09
دوستان عزیز ابتدا یه مشورتی بشه بعد به یکی این کارو محول کنید من خودم پیشنهاد رو دادم اما من نه خودم سوال دارم هم نه اونقدر تسلط دارم که بخوام یه نفری بهینه بودن کد ها رو تشخیص بدم و از همه مهمتر من این قدر این تابستون در گیر یه سری مسایل بودم که ای کاش هیج وقت پیش نمیومد و الان هم وقت اداره کردن یه همچین تاپیکی رو ندارم و ایشالا هم جمعه بعد عازم اصفهانم واسه دانشگاه .
این لطف دوست عزیزم حامد جان هست ولی من فعلا نمیتونم همچین کاری بکنم چون دوست ندارم که مثل خیلی از تاپیک ها شروع بشه و خیلی سریع رها بشه
همجین تاپیکی رو یک نفره نمیشه اداره کرد بلکه با همکاری جند نفر می شه یه تاپیک خوب با همچین موضوعی داشت
ممنون از همه دوستان
آقايان تموم شد اين تاپيك و مسابقه ها؟؟!!!
ما كه هنوز منتظريم.
دوستان لطف كنن اين تاپيك رو راه بندازيم دوباره .
armintirand
05-09-2008, 21:06
سلام دوستان اگه موافق باشین من حاظرم این تاپیک رو به دست بگیرم و با مدلهاو سوالهای مختلف لطفاً اگه موافقین بگین تا من ادامه بدم
از نظر من كه مشكلي نيست
من فقط دنبال سؤالم كه حل كنم.
ممنون ميشيم.
hamed valizadeh
05-09-2008, 21:45
اگه دنبال سوال هستید تا حل کنید به سایت زیر مراجعه کنید و ثبت نام کنید.
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
برای استفاده از این سایت باید firefox داشته باشید.
اگر هم ندارید می توانید به سایت زیر بروید:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
اگه خواستید بگم کدوم سوال ها آسون تر هستن تا اول اون ها رو حل کنید به من private message بزنید.
armintirand
08-09-2008, 02:48
سلام دوستان من از امروز شروع میکنم شرایط مسابقه اینطوره که:
1 هر مسابقه یک هفته وقت داره
2 سریعترین کد برنده است
3 زبان برنامه سی است نه سی پلاس پلاس البته ممکنه گاهی در این مورد آزاد باشید
4 برنامه باید بدون اشتباه در کامپایلر اجرا شود
اما نوع دیگری هم مسابقه بین هر چند مسابقه برگذار میشه که این غلط یابی هست اینو به این خاطر برگذار میکنم که مشکل خیلی از برنامه نویسان همینه یعنی یک سورس میگذارم در عرض یک هفته باید اشکالتش رو بگید اگه شرایط جدیدی بود بعداً میگم
دوستان اگه موافقاً من شروع کنم
منظورتون از کم حجم چیه؟ حجمی که متغیر ها اشغال می کنند یا حجمی که کد اشغال می کنه؟ اگه حجم کد باشه که... بازم همون مسئله کامپایلر و... میاد وسط. اگر هم حجم برنامه روی RAM در حال اجرا باشه که نمیشه بررسی کرد کدوم برنامه کم حجم تره.
مثلا ممکنه یک نفر تعداد متغیر هایی که تعریف می کنه کم باشه اما از توابع بازگشتی استفاده کنه که از Stack برنامه خیلی استفاده میشه و کلی حجم حافظه RAM رو اشغال میکنه. بعلاوه میزان حجمی که توابع بازگشتی استفاده می کنن کمپایلر با کمپایلر فرق داره... من پیشنهادم اینه که بریم سراغ سرعت! گرچه سرعت هم مشکلاتی داره اما معمولا توی مسابقات مسئله مورد بحثه!
البته امروزه قبل از سرعت و حجم مسئله مهمتر قابل گسترش بودن برنامه هست. که بشه بعدها برنامه رو راحت تر تغییر و گسترش داد... باز هم خود دانید...
armintirand
08-09-2008, 16:19
با تشکر از نظر آقای سینا پست رو ویرایش میکنم
armintirand
08-09-2008, 16:36
اما علاوه بر موارد قبلی میخوام چند مورد هم بگذارم اگه موافق بودین بگین تا اونا رو هم اجرا کنیم
1 بعد از چند مسابقه و دستچین شدن کدهای زیبا کدها با توضیحات به صورت pdf برای دانلود قرار داده شوند
2 بعضی از مسابقه ها دارای امتیاز میباشد(این امتیازها برای دوستان ثبت شده و در صورت امکان به نفر اول جایزه تعلق می گیرد البته در صورت امکان) جدی بگیرید
اگه موارد دیگه ای بود بعداً اضافه میشه
اولین برنامهبرنامه ای بنویسید که کار یک ماشین حساب را انجام دهد البته شامل اعمال جمع ، تفریق ، ضرب ، تقسیم ، جذر و...وقابلیت حافظه نیز داشته باشد یعنی در هر موقع بتوانیم عدد را ذخیره یا بازیابی کنیم؟
(این برنامه امتیاز دارد)
مهلت تا هفته بعد دوشنبه میباشد .
فقط پاسخهایی که با پیام خصوصی فرستاده شوند در مسابقه قرار میگیرند
نميخواين مشخص كنين كه بايد متني باشه يا گرافيكي، محدوديت هاش چي باشه (مثلا جذر تا چند رقم اعشار بگيره) و خلاصه صورت مسأله انقدر ناقص نباشه؟؟؟
armintirand
11-09-2008, 04:55
سلام دوستان ممنون از اینکه به موردهایی که گذاشتم نظر دادین لطفاً یک زحمت بکشید ومطالب رو کامل بخونید در مورد نوع برنامه ای که باید بنویسید فعلاً زیاد سخت نگیرید یعنی ساده و غیر گرافیکی باشه تا هم امتیاز دهی به اون برای من آسون بشه ودست من هم گرم بشه وهم اینکه سطح علمی کسانی که توی این مسابقه شرکت میکنن معلوم بشه وگرنه اونقدر برنامه رو میشه سخت کرد که بیل گیدس هم توش بمونه
بازم ممنون از انتقادتون
من هنوز فايل ها رو به صورت كامل ياد نگرفتم و نميتونم ذخيره كنم.
چيكار كنم؟ بنويسم برنامه رو بدون امكان ذخيره كردن؟
ممنون ميشم كمكم كنيد.
من بدون امكان ذخيره كردن مينويسم.
اگه قبول نيست بگيد تا يه كاريش بكنم ›خه هنوز ياد نگرفتم فايل ها رو.
armintirand
15-09-2008, 05:21
:41:دوستان امروز دوشنبه است ومتاسفانه هیچ کس برنامه ای نفرستاد :18:من به دوستان گفتم اگه مثلاً فایل رو هم بلد نیستید بدون اون بنویسید ولی کسی اقدام نکرد مهلت رو تا پنج شنبه اضافه میکنم اگه اینبار کسی اقدام نکرد از ادامه این مسابقه بی خیال میشم:13:
من نمي دونم اين تاپيك داشت خيلي عالي پيش مي رفت چرا تصميم گرفتين انقدر توش تغييرات ايجاد كنين كه به اين حال و روز بيفته!
armintirand
26-09-2008, 02:52
دوستان بازم سلام این تاپیک خیلی آرام داره پیش میره اگه نظری دارین بگین تا قوی تر پیش بره به من بگین من خودم میخوام این تاپیک رو به امضام اضافه کنم تا افراد بیشتری به اینجا بیان
دوستان تاپیک عالی بود و هست
من هم به c وهم به c++ اشنا هستم
ولی c++ رو هم اضافه کنید
اگه میشه دوستان به روال عادی برنامه هارو تو تاپیک بزارند یعنی بصورت خصوصی تحویل ندن
تا همه استفاده کنند
من به c++ تسلت بیشتری دارم
من هم از این به بعد هستم
به به مسابقه
به نظر من بهتره مسابقه ماهانه برگزار بشه اول ماه یه سوال طرح بشه و تا اخر ماه فرصت داده بشه که کد رو نوشته و ارسال کنیم و دیگه این که به نظر من سوالات نباید اینجا مطرح بشه چون باعث بینظمی تاپیک و سردرگمی کاربر میشه تاپیک مستقل ایجاد بشه و اول هر ماه سوال در اون درج بشه و تا اخر ماه و در ساعت معین که برای ارسال پست قبلا اعلام میشه کد برنامه هاشو نو در همون تاپیک ارسال کنن و بعد اتمام وقت دیگه کسی نمیتونه تو مسابقه شرکت کنه.
نظر من اینه که نباید خصوصی بشه:jealous: تا همه هم بتونن نظراتشونو اعلام کنن و این که همه میتونن ازش استفاده کنن و ایراداشو هم بر طرف کنن :12:
بچه ها منم هستم:8:
ای کاش جایزه هم داشت:rolleye:
aryan1423
30-10-2008, 20:55
به نظر من اگه می خواهید مسابقه ی برنامه نویسی برگزار کنید بهتر است برنامه ها را از لحاظ سرعت برنامه مقایسه کنید نه از لحاظ اندازه ی برنامه !
البته مثل اینکه قرار نیست مسابقه ای برگزار بشه :41:
حالا من برای شروع یک مساله را مطرح می کنم امیدوارم استقبال بشه:46:
aryan1423
30-10-2008, 21:03
مساله
ورودی:
عدد(100^10)> x,y
خروجی:
x*y
نکته: منظورم از 100^10 : 10 به توان 100 بود.
البته این سوال بسیار بسیار ساده است ولی برای شروع بدک نیست.:10:
armintirand
01-11-2008, 00:28
دوست عزیز اگه دقت کنید به مطالب قبلی ذکر شده قرار بود من تاپیک رو پیش ببرم که به دلیل استقبال کم دوستان چند مدتی چیزی ننوشتم اما در مورد سوال شما من به شما به دلیل جلوگیری از سوت و کور شدن تاپیک احترام میگذارم اما همیشه به چیزی که مینویسید دقت کنید که برای کاربر روی سوال قابل فهم باشدمن که چیزی نفهمیدم یعنی دو تا عدد داریم که یکی از ده به توان صد کوچکتره و اون یکی هم معلوم نیست که چیه و خروجی حاصل ضرب این دو عدد که نمیدونیم یکی از اونا اصلاً چنده
اما در مورد ادامه تاپیک اگه دوستان موافقن من با در نظر گرفتن نظرات شما تاپیک رو جلو میبرم
1-مدت هر سوال از یک هفته به یک ماه تغییر یافت
2-برای قرار دادن جواب سوالات سوالات اگه نظری دارین بگین تا بهترین روش رو در نظر بگیریم فعلاً اگه با این مورد موافقین اعلام کنین(ایجاد یک تاپیک مجزا از این تاپیک و ارسال پاسخ ها در آن در صورت تکراری بودن دو جواب فردی که جواب دوم را قرار داده جوابش بی تاثیر است تا پایان مدت قرار دادن جواب هر فرد میتواند جواب خود را ویرایش کند)
در صورتی که مورد دیگری بود پس از مشاهده نظرات شما دوستان وجمع بندی آنها به پست اول اضافه خواهد شد پس دوستان از قرار دادن پاسخ سوالات در این تاپیک خودداری کنند و فقط نظرات خود را دراین تاپیک قرار دهند.
آدرس صفحه قرار دادن جواب سوالات
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
مهلت این مسابقه تا پایان آبان ماه است به دلیل اینکه با تقویم شمسی هماهنگ شویم
aryan1423
01-11-2008, 00:50
هم x هم Y کوچکتر از 10 به توان 100 هستند:31:
مثال:
ورودی:
2 3
خروجی:
6
برنامه ی شما باید طوری عمل کنه که برای X,Y های بزرگ(100^10>X و 100^10>Y) درست و سریع کار کنه.
هم چنین هم X و همY مثبت هستند.
امیدوارم سوال دیگه نامفهوم نباشه.
البته اگه آرمین جان سوال خوبی در نظر دارند به اون سوال می پردازیم.:10:
armintirand
03-11-2008, 01:46
دوستان من یک تاپیک زدم برای جواب به سوالات لطفا در این تاپیک نظرات خود ودر ان تاپیک جوا سوالات را قرار دهیدسوال اول ماشین حساب است که علاوه بر 4 عمل اصلی جذر را نیز دارا میباشد منتهی فوت کوزهگری در اینجاست که برای جذر از توابع ریاضی(کتابخانه) نباید استفاده شود ;
پست شرایط مسابقه ویرایش شد;
vBulletin , Copyright ©2000-2025, Jelsoft Enterprises Ltd.