PDA

View Full Version : سوال: تمامی حالات پر کردن یک ماتریس دو بعدی



milad rezae
سه شنبه 30 شهریور 1395, 20:43 عصر
سلام و خسته نباشید دوستان....عیدتون مبارک
من برای پروژه پایانی خودم نیاز دارم تمامی حالات یک ماتریس را بدست آورم و رویش یک سری محاسبات انجام دهم...این ماتریس به این صورت است که دارای 5 سطر و 10 ستون می باشد و درایه هایش فقط شامل اعداد صفر و یک می باشد یعنی یک درایه یا صفر است و یا یک...تعداد حالات کل برابر 2 به توان 50 می باشد ولی اینکه چگونه با کد و حلقه این حالات را به دست آورم را نمی دانم!! ممنون می شوم که راهنماییم کنید

reza_ali202000
چهارشنبه 31 شهریور 1395, 00:03 صبح
سلام روشهای زیادی وجود داره. اگه فقط دنبال نتیجه هستید میتونید از یه حلقه while استفاده کنید و شرط خروجش رو 2 به توان 50 بزارید(pow). و بعد دوتا متغیر که یکی سطر رو جابجا میکنه و یکی سطون رو بزارید. وقتی که سطر مثلا برابر 5 شد ستون یکی بهش اضافه بشه. در حالت عادی یکی به سطرتون اضافه بشه. حالا اگه ستونتون هم برابر ده شد و سطر هم برابر پنج دوباره سطر و ستون رو صفر کنه از اول ادامه بده.

Salar Ashgi
پنج شنبه 01 مهر 1395, 23:00 عصر
دوست عزیز مطمئن هستید که همه این حالات رو نیاز دارید ؟؟

دقت کنید که عدد 2 به توان 50 عدد کوچکی نیست ، اگه 2 به توان 10
رو حدودا 1000 فرض کنیم این عدد تقریبا یعنی برابره با :

142725

میشه تولید کرد ، ولی شما اگه هر خروجی مثلا یک فایل متنی در نظر بگیرید ، تصور کنید این تعداد فایل متنی خواهید داشت ،

بنظر کمی معقولانه نیست !

موفق باشید./

milad rezae
جمعه 02 مهر 1395, 15:54 عصر
سلام روشهای زیادی وجود داره. اگه فقط دنبال نتیجه هستید میتونید از یه حلقه while استفاده کنید و شرط خروجش رو 2 به توان 50 بزارید(pow). و بعد دوتا متغیر که یکی سطر رو جابجا میکنه و یکی سطون رو بزارید. وقتی که سطر مثلا برابر 5 شد ستون یکی بهش اضافه بشه. در حالت عادی یکی به سطرتون اضافه بشه. حالا اگه ستونتون هم برابر ده شد و سطر هم برابر پنج دوباره سطر و ستون رو صفر کنه از اول ادامه بده.

سلام ممنون :لبخندساده:

milad rezae
جمعه 02 مهر 1395, 15:56 عصر
دوست عزیز مطمئن هستید که همه این حالات رو نیاز دارید ؟؟

دقت کنید که عدد 2 به توان 50 عدد کوچکی نیست ، اگه 2 به توان 10
رو حدودا 1000 فرض کنیم این عدد تقریبا یعنی برابره با :

142725

میشه تولید کرد ، ولی شما اگه هر خروجی مثلا یک فایل متنی در نظر بگیرید ، تصور کنید این تعداد فایل متنی خواهید داشت ،

بنظر کمی معقولانه نیست !

موفق باشید./

سلام ممنون
تعداد زیادی از این حالات با شرط حذف می شوند ولی ابتدا باید تولید و بررسی شوند

milad rezae
جمعه 02 مهر 1395, 15:57 عصر
دوستان من مساله را با استفاده از اعداد باینری حل کردم ولی آیا راهی سراغ دارید برای افزایش سرعت این چنین حلقه هایی؟؟ و همچنین چگونه یک عدد از نوع double را به مبنای 2 ببرم؟؟ اعداد از نوع int را به راحتی می توان با Convert اینکارا کرد ولی اعداد حقیی و بزرگ را نمی توان!!