تالار گفتمان مانشت
برنامه نویسی برای آرایه - نسخه‌ی قابل چاپ

برنامه نویسی برای آرایه - jafarir - 19 دى ۱۳۹۱ ۰۶:۳۹ ب.ظ

سلام
می خوام یه برنامه بنویسم که یه آرایه ی n*n بگیره تو ورودی که پیچیدگی زمانیش O(n^2) که همه ی عددهاش ۰ یا ۱ باشه ،و بگه بزرگترین مربعی که همش ۱ باشه ، و تو خروجی بده

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

برنامه نویسی برای آرایه - jafarir - 19 دى ۱۳۹۱ ۱۰:۱۶ ب.ظ

اساتید !!!
کسی نظری راجع به این الگوریتم نداره؟

برنامه نویسی برای آرایه - jafarir - 20 دى ۱۳۹۱ ۱۲:۲۵ ق.ظ

دوستان یه بار عکسو میزارمHuh
[تصویر:  153167_1_1379086621.jpg]

من می خوام برای سوال زیر برنامه شو بنویسم ولی الگوریتمشو نمی دونم درسته یا نه
فکر میکننم برای بدست آوردن بزرگترین مربه با اعداد ۱ راه مقایسه رو بشه امتحان کرد ، یعی یا بصورت سطری یا ستونی درایه درایه حرکت کنیم بریم تا برسیم به آخرین ستون یا سطر ببنیم اگه ۰ هست که هیچی یکی بریم جلو اگه ۱ بود سطر و ستونشو تو یه /ارایه ی کمکی می ریزیم
بعد آخر سر آرایه کمکی که بزرگترین سطرش با بزرگترین سطونش برابر بود را به عنوان بزرگترین آرایه با اعداد ۱ می بریم خروجی
حالا اگه عدد بزرگترین سطر با بزرگترین ستون یکی نبود اینقدر از عدد بزرگه کم می کنیم تا برابر بشن.
البته فکر کنم الگوریتمم ایراد داره ، مشکل بعدیم هم اینه که دقیق نمی دونم چطور اینو با سی یا سی پلاس پیاده سازی کنم ، من فقط ۱ روز وقت دارم به جواب برسم واسه همین گفتم بیام از شما اساتید بپرسم که زوتر به نتیجه برسم.

RE: برنامه نویسی برای آرایه - nazaninzahra2 - 20 دى ۱۳۹۱ ۱۲:۴۶ ق.ظ

(۲۰ دى ۱۳۹۱ ۱۲:۲۵ ق.ظ)jafarir نوشته شده توسط:  دوستان یه بار عکسو میزارمHuh
[تصویر:  153176_1_1379086621.jpg]

من می خوام برای سوال زیر برنامه شو بنویسم ولی الگوریتمشو نمی دونم درسته یا نه
فکر میکننم برای بدست آوردن بزرگترین مربه با اعداد ۱ راه مقایسه رو بشه امتحان کرد ، یعی یا بصورت سطری یا ستونی درایه درایه حرکت کنیم بریم تا برسیم به آخرین ستون یا سطر ببنیم اگه ۰ هست که هیچی یکی بریم جلو اگه ۱ بود سطر و ستونشو تو یه /ارایه ی کمکی می ریزیم
بعد آخر سر آرایه کمکی که بزرگترین سطرش با بزرگترین سطونش برابر بود را به عنوان بزرگترین آرایه با اعداد ۱ می بریم خروجی
حالا اگه عدد بزرگترین سطر با بزرگترین ستون یکی نبود اینقدر از عدد بزرگه کم می کنیم تا برابر بشن.
البته فکر کنم الگوریتمم ایراد داره ، مشکل بعدیم هم اینه که دقیق نمی دونم چطور اینو با سی یا سی پلاس پیاده سازی کنم ، من فقط ۱ روز وقت دارم به جواب برسم واسه همین گفتم بیام از شما اساتید بپرسم که زوتر به نتیجه برسم.

سلام
اینم حلش