زمان کنونی: ۰۶ دى ۱۴۰۳, ۰۵:۰۰ ب.ظ مهمان گرامی به انجمن مانشت خوش آمدید. برای استفاده از تمامی امکانات انجمن می‌توانید عضو شوید.
گزینه‌های شما (ورودثبت نام)

چطوری تشخیص بدم دو حلقه تو در تو به هم وابستن یا نه؟

ارسال:
  

ania_13 پرسیده:

چطوری تشخیص بدم دو حلقه تو در تو به هم وابستن یا نه؟

سلام
چطوری تشخیص بدم دو حلقه تو در تو به هم وابستن یا نه؟
ممنون میشم با حوصله واسم توضیح بدینHeart
نقل قول این ارسال در یک پاسخ

۰
ارسال:
  

SHF پاسخ داده:

چطوری تشخیص بدم دو حلقه تو در تو به هم وابستن یا نه؟

سلام
وقتی در قسمت شرط حلقه داخلی مقدار اندیس حلقه داخلی با توجه به اندیس حلقه بیرونی شرطش قید شود
نقل قول این ارسال در یک پاسخ

۰
ارسال:
  

esi پاسخ داده:

چطوری تشخیص بدم دو حلقه تو در تو به هم وابستن یا نه؟

دقیقا درسته
یعنی حلقه داخلی از اندیس حلقه بالاترش جهت حرکت اندیس یا شروع اندیس یا پایان اندیس استفاده کنه. مثلا حلقه اول(بیرونی ترین حلقه) شمارندش i باشه و حلقع دوم به این صورت ها باشه:
for j=i to n
for j=1 to i
for j=1 to i; j=j+1
و حالات دیگه از ترکیب این حالت ها.
در کل یا شروع شمارنده حلقه ، یا گام شمارنده یا پایان شماره داخلی تابعی از شمارنده (های) خارجی باشه.
نقل قول این ارسال در یک پاسخ

۰
ارسال:
  

ania_13 پاسخ داده:

چطوری تشخیص بدم دو حلقه تو در تو به هم وابستن یا نه؟

ببینید یه سئوال هست که به این صورته
for(i=1,i=n,i++)a
for(j=1,j=n,j++)aبعد گفته این دو حلقه وابسته نیستن ! حالا طبق نکته اولی که شما گفتین باید وابسته باشن! همین ها منو گیج کرده میشه توضیح بیشتری بدین؟
این دوتاa رو آخر حلقه ها گذاشتم که متن به هم نریزه جزو مثال نیست
نقل قول این ارسال در یک پاسخ

ارسال:
  

azad_ahmadi پاسخ داده:

RE: چطوری تشخیص بدم دو حلقه تو در تو به هم وابستن یا نه؟

(۱۲ آبان ۱۳۹۱ ۱۰:۵۶ ق.ظ)ania_13 نوشته شده توسط:  ببینید یه سئوال هست که به این صورته
for(i=1,i=n,i++)a
for(j=1,j=n,j++)aبعد گفته این دو حلقه وابسته نیستن ! حالا طبق نکته اولی که شما گفتین باید وابسته باشن! همین ها منو گیج کرده میشه توضیح بیشتری بدین؟
این دوتاa رو آخر حلقه ها گذاشتم که متن به هم نریزه جزو مثال نیست

ضمن تصدیق حرفهای همه دوستان و همچنین کامنت اخری (جناب esi) ، این حلقه ای که شما نوشتین در صورتی اجرا میشه که n=1 باشه، و در این صورت فقط حلقه یک بار اجرا میشه. چون شرط حلقه = قرار داده شده پس فقط همون بار اول اجرا میشه( توجه کن که بار بعدی با توجه به گام حرکت، i یا j برابر با ۲ میشن و دیگه شرط درست نخواهد بود). همون طور که دوستان گفتن،(درست تر اینه که از > یا => استفاده بشه). در صورتی که از متغیر های یکسان در مقدار اولیه، یا شرط حلقه ، یا گام حرکت استفاده شد، حلقه ها به هم وابسته خواهند بود.
موفق باشی.
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ

۰
ارسال:
  

masoud.bala پاسخ داده:

چطوری تشخیص بدم دو حلقه تو در تو به هم وابستن یا نه؟

مهندس سلام
اینها وابسته نیستند دیگه جون در حلقه دوم که نیاز به حلقه اول نبوده خوب نگاه کن اولی i هستش دیدی ؟
که ای آقای i تا مساوی n که یک عدد می ره ولی در دومی خوب نگاه کن تو شرطی که داده آیا از i برابر j با چیز دیگری اسم برده ؟
نه دیگه نیست فقط تا n گفته n هم یک عدد سراسری هست اصلا وابستگی ندارند اگر j صدا کرده بود i رو اونوقت وابسته بودند
فهمیذی مهندس ؟
نقل قول این ارسال در یک پاسخ

۰
ارسال:
  

esi پاسخ داده:

چطوری تشخیص بدم دو حلقه تو در تو به هم وابستن یا نه؟

حلقه دوم که ربطی به حلقه اول نداره !!!!
مرتبه اجراییش میشه O(n^2)a میشه (a برای بهم نخوردن متن).
البته شرط حلقه i<=n . j<=n هستش دیگه درسته !!!
تو حلقه دوم یعنی شمارنده j که از شمارنده i استفاده نکرده که وابسته بشن !!
نقل قول این ارسال در یک پاسخ

۰
ارسال:
  

ania_13 پاسخ داده:

چطوری تشخیص بدم دو حلقه تو در تو به هم وابستن یا نه؟

مرسی از لطف همه شما عزیزان من مطلبو گرفتم.

اما اجازه بدین یه مثال دیگه بگم:
k:=0
for i:=1 to n do begin
for j:=1 to m do
begin
k:=k+1
j:=1
while j<n do begin
k:=k+1
j:=j*2

end
end

جواب شده

n(m+logn)a


a برای به هم نخوردن متن

خوب تحلیلتونو میگید؟ و اینکه آیا این do و begin تاثیری دارن توی وابستگی حلقه ها؟
نقل قول این ارسال در یک پاسخ

۰
ارسال:
  

masoud.bala پاسخ داده:

چطوری تشخیص بدم دو حلقه تو در تو به هم وابستن یا نه؟

مهندس سلام
الان من منظورتو از وابستگی نمی فهمم توی هیچ کدام از حلقه هات وابستگی نداری حلقه اول m بار حلقه دوم n بار و آخری چون در while عمل ضرب شده می شه log چیزی هست باز هم شاید دوستان بهتر از من واست تریس کنن
نقل قول این ارسال در یک پاسخ

۰
ارسال: #۱۰
  

ania_13 پاسخ داده:

چطوری تشخیص بدم دو حلقه تو در تو به هم وابستن یا نه؟

سلام
منم همین جاها گیر میکنم دیگه مهندس!
نقل قول این ارسال در یک پاسخ

۰
ارسال: #۱۱
  

masoud.bala پاسخ داده:

چطوری تشخیص بدم دو حلقه تو در تو به هم وابستن یا نه؟

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

ارسال: #۱۲
  

redflight پاسخ داده:

RE: چطوری تشخیص بدم دو حلقه تو در تو به هم وابستن یا نه؟

خب درسته دیگه :دی
for j:=1 to m do
و
for j:=1 to m do
توی حلقه ی for i:=1 to n do begin هستند
حلقه ی i به تعداد n بار اجرا می شه پس داخلش را ضربدر N می کنیم
n(داخلش)
داخلش هم حلقه for j به تعداد m بار , while هم لگاریتمیه اینجا چون شمارنده while داره با این دستور تغیر می کنه j:=j*2
پس داخل حلقه i می شه m+logn
در کل شد : n(m+logn)a
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ

۰
ارسال: #۱۳
  

masoud.bala پاسخ داده:

چطوری تشخیص بدم دو حلقه تو در تو به هم وابستن یا نه؟

دقیقا این دوستمون خوبم واست تریس کرد ببین مهندس تریس اینها نیاز به یکمی تمرین داره خیلی گیر داری به متغیر ها مقدار بده رفتارش دستت می یاد جدول تریس بکش بعدش قشنگ تریس کن مقدار ها را کم هم نده تا ۸ بده رفتارش دستت می یاد
نقل قول این ارسال در یک پاسخ

۰
ارسال: #۱۴
  

redflight پاسخ داده:

چطوری تشخیص بدم دو حلقه تو در تو به هم وابستن یا نه؟

اااااااااااااااا
خط سوم به جای for j:=1 to m do منظورم while بوده ، کپی نشده انگار
ببخشید

یعنی این:
for j:=1 to m do
و
while....
توی حلقه ی for i:=1 to n do begin هستند Shy
نقل قول این ارسال در یک پاسخ

۰
ارسال: #۱۵
  

ania_13 پاسخ داده:

چطوری تشخیص بدم دو حلقه تو در تو به هم وابستن یا نه؟

ممنونم از همه شما عزیزانSmile
نقل قول این ارسال در یک پاسخ



موضوع‌های مرتبط با این موضوع...
موضوع: نویسنده پاسخ: بازدید: آخرین ارسال
  نتایج نهایی ارشد کامپیوتر ۹۱ mj_shbn ۲۷۲ ۱۷۵,۱۷۸ ۲۰ مرداد ۱۴۰۱ ۰۴:۲۰ ب.ظ
آخرین ارسال: mahziar0
Exclamation سلام لطفاً یکی به من بگه مرتبه زمانی ها چطوری به log تبدیل میشن فرمول داره؟؟ Azadam ۶ ۵,۰۵۶ ۰۶ دى ۱۴۰۰ ۰۹:۰۲ ق.ظ
آخرین ارسال: Soldier's life
  دانشگاه های پزشکی رو برای رشته انفورماتیک چطوری اولویت بندی کنم ؟ mrpool ۷ ۹,۱۷۸ ۲۴ فروردین ۱۴۰۰ ۰۱:۵۲ ق.ظ
آخرین ارسال: hossein1991
  کارنامه اولیه و نهایی دکتری رشته آیتی lotuss ۱۲ ۷,۵۳۸ ۱۷ بهمن ۱۳۹۹ ۰۲:۳۳ ق.ظ
آخرین ارسال: hmaryam567
  کارنامه نهایی ازمون دکتری داخل سال ۱۳۹۲-گرایش معماری کامپیوتر انرژی مثبت ۱ ۴,۵۱۳ ۱۷ بهمن ۱۳۹۹ ۰۲:۲۸ ق.ظ
آخرین ارسال: hmaryam567
  کارنامه نهایی ازمون دکتری داخل سال ۱۳۹۲-گرایش نرم افزار انرژی مثبت ۶ ۱۰,۱۳۳ ۱۷ بهمن ۱۳۹۹ ۰۲:۲۷ ق.ظ
آخرین ارسال: hmaryam567
  تشخیص گوگل مپس با Live View AR برای مکان دقیق elecomco ۱ ۴,۳۰۳ ۰۵ بهمن ۱۳۹۹ ۰۲:۴۹ ب.ظ
آخرین ارسال: kooshaideal1
  حل مساله مرتبه زمانی حلقه های تو در تو sarashahi ۱۶ ۲۳,۳۰۴ ۱۹ خرداد ۱۳۹۹ ۰۱:۱۶ ب.ظ
آخرین ارسال: gillda
  برنامه ریزی و کارهایی که باید انجام بدم fatemesoleimani ۲۰۸ ۷۵,۳۱۵ ۰۲ اسفند ۱۳۹۸ ۱۱:۵۱ ق.ظ
آخرین ارسال: فاطمه سلیمانی
  نمره کل نهایی شبانه بیشتر از روزانه Mania92 ۶ ۵,۹۴۸ ۱۴ شهریور ۱۳۹۸ ۰۹:۱۹ ب.ظ
آخرین ارسال: mashhad65

پرش به انجمن:

Can I see some ID?

به خاطر سپاری رمز Cancel

Feeling left out?


نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. رمزت رو فراموش کردی؟ اینجا به یادت میاریم! close

رمزت رو فراموش کردی؟

Feeling left out?


نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. close