۰
subtitle
ارسال: #۱
  
پرانتز گذاری ضرب ماتریس ها
یه برنامه سی شارپ برای پرانتز گذاری ضرب ماتریس ها نوشتم یکم خطا داره
هیشکی خیر هست برناممو براش بفرستم اشکالامو بگه؟؟
هیشکی خیر هست برناممو براش بفرستم اشکالامو بگه؟؟
۱
ارسال: #۲
  
RE: پرانتز گذاری ضرب ماتریس ها
۱
ارسال: #۳
  
RE: پرانتز گذاری ضرب ماتریس ها
نقل قول: که این مدل وقتی ماتریس ها ضرب میشن(با این روش پرانتز گذاری) جواب ضرب از روش های دیگر کمتر استنکنه منظورتون از "جواب ضرب"، تعداد عملیات لازم برای انجام عمل ضرب هست!؟ چون تغییر پرانتزها فقط روی تعداد عملیات لازم اثر میذاره.
شبهکد و یا کد جاوای لینک زیر رو نگاه کنید، به راحتی میتونید به سیشارپ تبدیل کنید. خصوصاً جاوا که کافی هست خط به خط تبدیل کنید
مهمان عزیز شما قادر به مشاهده پیوندهای انجمن مانشت نمیباشید. جهت مشاهده پیوندها ثبت نام کنید.
۰
ارسال: #۴
  
RE: پرانتز گذاری ضرب ماتریس ها
کار من سی شارپ نیست. اگه یه سی شارپ کار کدتون رو ببینه بهتر میتونه نظر بده. پرانتز گذاری ضرب ماتریس رو هم فراموش کردم. فقط چند تا نکته که به ذهنم میرسه رو میگم:
- بهتر بود خطای کدتون رو مشخص کنید. مثلا خطای سینتکسی داره یا خطای منطقی؟
- فاصله گذاری ها رو رعایت کنید. بعد و قبل از عملگر ها (مثل >=) و همینطور بعد از "," باید یه اسپیس بذارید.
- بهتره برای هر متدی که مینوسید یه داکیومنتیشن کوچیک بنویسید. مثلا اینکه اون متد چیکار می کنه، هر ورودی قراره چه مقداری بگیره، مقدار خروجی چیه، چه استثناها (exception) هایی رو میندازه بیرون و هر استثنا رو در چه صورتی میندازه بیرون.
- از اسم های فینگلیش (zarb) استفاده نکنید. zarb3 اسم خوبی نیست.
- بهتره بالای کد مشخص باشه این کد رو چه کسی و در چه تاریخی نوشته و یه توضیح کلی بدید که این کد قراره چیکار کنه.
- سعی کنید متد ها خودشون چیزی رو چاپ نکنن (مگر اینکه log باشه). بهتره خروجی رو return کنن و موارد خطا و استثنایی و غیر قابل انتظار رو به صورت استثنا (exception) بندازن بیرون.
- پیشنهاد میشه ساختار هایی مثل if همیشه بریس ({}) داشته باشن حتی مواقعی که قسمت بدنه اونها یه دستوره و از لحاظ سینتکس احتیاجی به بریس ندارن.
- بعضی از قسمت ها indentation کدتون به هم خورده. IDE ها معمولا دارای ابزاری هستن که به صورت خودکار فاصله گذاری ها و همینطور indentation کد رو درست می کنه. چون من با visual studio کار نمی کنم نمیتونم نظر بدم که چجوری میشه تو visual studio این کار رو انجام داد.
- بهتره که کد قسمت هایی که به صورت موقت کامنت میشن نداشته باشه مگر اینکه دلیل خوبی برای وجودشون داشته باشید.
- بهتر بود خطای کدتون رو مشخص کنید. مثلا خطای سینتکسی داره یا خطای منطقی؟
- فاصله گذاری ها رو رعایت کنید. بعد و قبل از عملگر ها (مثل >=) و همینطور بعد از "," باید یه اسپیس بذارید.
- بهتره برای هر متدی که مینوسید یه داکیومنتیشن کوچیک بنویسید. مثلا اینکه اون متد چیکار می کنه، هر ورودی قراره چه مقداری بگیره، مقدار خروجی چیه، چه استثناها (exception) هایی رو میندازه بیرون و هر استثنا رو در چه صورتی میندازه بیرون.
- از اسم های فینگلیش (zarb) استفاده نکنید. zarb3 اسم خوبی نیست.
- بهتره بالای کد مشخص باشه این کد رو چه کسی و در چه تاریخی نوشته و یه توضیح کلی بدید که این کد قراره چیکار کنه.
- سعی کنید متد ها خودشون چیزی رو چاپ نکنن (مگر اینکه log باشه). بهتره خروجی رو return کنن و موارد خطا و استثنایی و غیر قابل انتظار رو به صورت استثنا (exception) بندازن بیرون.
- پیشنهاد میشه ساختار هایی مثل if همیشه بریس ({}) داشته باشن حتی مواقعی که قسمت بدنه اونها یه دستوره و از لحاظ سینتکس احتیاجی به بریس ندارن.
- بعضی از قسمت ها indentation کدتون به هم خورده. IDE ها معمولا دارای ابزاری هستن که به صورت خودکار فاصله گذاری ها و همینطور indentation کد رو درست می کنه. چون من با visual studio کار نمی کنم نمیتونم نظر بدم که چجوری میشه تو visual studio این کار رو انجام داد.
- بهتره که کد قسمت هایی که به صورت موقت کامنت میشن نداشته باشه مگر اینکه دلیل خوبی برای وجودشون داشته باشید.
۰
ارسال: #۵
  
RE: پرانتز گذاری ضرب ماتریس ها
یعنی هیشکییییییییییییی سی شارپ بلد نیست که کمک کنه؟؟!!!!
خوب پرانتز گذاری ضرب ماتریس هاست
ورودی تعدادی ماتریس هست .که تعداد ماتریس و ابعاد ان ها از کاربر گرفته میشه بعد باتوجه بهmin جواب ضرب انها رو پرانتز گذاری میکنه
مثلا خروجی باید این مدلی باشه(CD)(AB)
که این مدل وقتی ماتریس ها ضرب میشن(با این روش پرانتز گذاری) جواب ضرب از روش های دیگر کمتر است
فهمیدین چی شد؟؟
(۱۳ خرداد ۱۳۹۵ ۱۰:۲۳ ب.ظ)behnam5670 نوشته شده توسط:(13 خرداد ۱۳۹۵ ۰۹:۰۱ ب.ظ)shirin ftf نوشته شده توسط: یه برنامه سی شارپ برای پرانتز گذاری ضرب ماتریس ها نوشتم یکم خطا دارهبرنامه که دارای اشکال هست اما منظورتون از پرانتزگذاری چی هست؟ قرار هست دقیقاً چه کاری انجام بدید؟
هیشکی خیر هست برناممو براش بفرستم اشکالامو بگه؟؟
خوب پرانتز گذاری ضرب ماتریس هاست
ورودی تعدادی ماتریس هست .که تعداد ماتریس و ابعاد ان ها از کاربر گرفته میشه بعد باتوجه بهmin جواب ضرب انها رو پرانتز گذاری میکنه
مثلا خروجی باید این مدلی باشه(CD)(AB)
که این مدل وقتی ماتریس ها ضرب میشن(با این روش پرانتز گذاری) جواب ضرب از روش های دیگر کمتر است
فهمیدین چی شد؟؟
ارسال: #۶
  
RE: پرانتز گذاری ضرب ماتریس ها
جواب ضرب ماتریسها ربطی به نحوهی پرانتزگذاری نداره، یعنی جواب برابر هست در هر حالت! یعنی مثلاً [tex]A(BC)=(AB)C[/tex]
چیزی به اسم مینیمم نداریم.
چیزی به اسم مینیمم نداریم.
ارسال: #۷
  
RE: پرانتز گذاری ضرب ماتریس ها
(۱۴ خرداد ۱۳۹۵ ۰۱:۱۴ ق.ظ)behnam5670 نوشته شده توسط: جواب ضرب ماتریسها ربطی به نحوهی پرانتزگذاری نداره، یعنی جواب برابر هست در هر حالت! یعنی مثلاً [tex]A(BC)=(AB)C[/tex]خوب با مثال میگم منظورمو بفهمی
چیزی به اسم مینیمم نداریم.
۴ماتریس abcd داریم:a4*5......b5*2.............c2*6..........d6*3 با این ابعادی که نوشتم
۱۰۰=(cd)(ab)
a(bc)d=256
جوابمون میشه اولیه که ۱۰۰ هست و کمتره.همون میشه مینیمم تعداد ضرب ها
a(bc)d=256
جوابمون میشه اولیه که ۱۰۰ هست و کمتره.همون میشه مینیمم تعداد ضرب ها
ارسال: #۸
  
RE: پرانتز گذاری ضرب ماتریس ها
(۱۵ خرداد ۱۳۹۵ ۰۱:۴۶ ق.ظ)shirin ftf نوشته شده توسط:(14 خرداد ۱۳۹۵ ۰۱:۱۴ ق.ظ)behnam5670 نوشته شده توسط: جواب ضرب ماتریسها ربطی به نحوهی پرانتزگذاری نداره، یعنی جواب برابر هست در هر حالت! یعنی مثلاً [tex]A(BC)=(AB)C[/tex]خوب با مثال میگم منظورمو بفهمی
چیزی به اسم مینیمم نداریم.
۴ماتریس abcd داریم:a4*5......b5*2.............c2*6..........d6*3 با این ابعادی که نوشتم
۱۰۰=(cd)(ab)
a(bc)d=256
جوابمون میشه اولیه که ۱۰۰ هست و کمتره.همون میشه مینیمم تعداد ضرب ها
متوجه شدم منظورتون رو. توو پست بالا هم یه لینکی از ویکیپدیا دادم که این کد رو به صورت شبه کد و هم به صورت جاوا نوشتند که تفاوت جزئی با سیشارپ داره و میتونید خط به خط کدش رو تبدیل کنید.
علت اینکه بهتون کد رو نشون دادم این هست که خیلی شبیه کد خودتون هست و میتونید با مقایسه با کدی که نوشتید، متوجه بشید که کجا اشتباه کردید. یه سری متغیرها رو هم حواستون باید باشه که global تعریف کنید. اون تابع min هم که استفاده میکنید و هیچ جا هم تعریف نکردید اشتباه هست چون min باید حداقل دو تا عدد بگیره، اینجا شما یه عدد میگیرید اگه اشتباه نکنم. باید با مقدار قبلی cost مقایسه کنید به نظرم (یعنی min بگیرید).
ارسال: #۹
  
RE: پرانتز گذاری ضرب ماتریس ها
(۱۵ خرداد ۱۳۹۵ ۰۲:۰۱ ق.ظ)behnam5670 نوشته شده توسط:اهووم(15 خرداد ۱۳۹۵ ۰۱:۴۶ ق.ظ)shirin ftf نوشته شده توسط:(14 خرداد ۱۳۹۵ ۰۱:۱۴ ق.ظ)behnam5670 نوشته شده توسط: جواب ضرب ماتریسها ربطی به نحوهی پرانتزگذاری نداره، یعنی جواب برابر هست در هر حالت! یعنی مثلاً [tex]A(BC)=(AB)C[/tex]خوب با مثال میگم منظورمو بفهمی
چیزی به اسم مینیمم نداریم.
۴ماتریس abcd داریم:a4*5......b5*2.............c2*6..........d6*3 با این ابعادی که نوشتم
۱۰۰=(cd)(ab)
a(bc)d=256
جوابمون میشه اولیه که ۱۰۰ هست و کمتره.همون میشه مینیمم تعداد ضرب ها
متوجه شدم منظورتون رو. توو پست بالا هم یه لینکی از ویکیپدیا دادم که این کد رو به صورت شبه کد و هم به صورت جاوا نوشتند که تفاوت جزئی با سیشارپ داره و میتونید خط به خط کدش رو تبدیل کنید.
علت اینکه بهتون کد رو نشون دادم این هست که خیلی شبیه کد خودتون هست و میتونید با مقایسه با کدی که نوشتید، متوجه بشید که کجا اشتباه کردید. یه سری متغیرها رو هم حواستون باید باشه که global تعریف کنید. اون تابع min هم که استفاده میکنید و هیچ جا هم تعریف نکردید اشتباه هست چون min باید حداقل دو تا عدد بگیره، اینجا شما یه عدد میگیرید اگه اشتباه نکنم. باید با مقدار قبلی cost مقایسه کنید به نظرم (یعنی min بگیرید).
ممنون
حالا یه تغییراتی دادم بهش
(۱۵ خرداد ۱۳۹۵ ۰۲:۰۱ ق.ظ)behnam5670 نوشته شده توسط:اهووم(15 خرداد ۱۳۹۵ ۰۱:۴۶ ق.ظ)shirin ftf نوشته شده توسط:(14 خرداد ۱۳۹۵ ۰۱:۱۴ ق.ظ)behnam5670 نوشته شده توسط: جواب ضرب ماتریسها ربطی به نحوهی پرانتزگذاری نداره، یعنی جواب برابر هست در هر حالت! یعنی مثلاً [tex]A(BC)=(AB)C[/tex]خوب با مثال میگم منظورمو بفهمی
چیزی به اسم مینیمم نداریم.
۴ماتریس abcd داریم:a4*5......b5*2.............c2*6..........d6*3 با این ابعادی که نوشتم
۱۰۰=(cd)(ab)
a(bc)d=256
جوابمون میشه اولیه که ۱۰۰ هست و کمتره.همون میشه مینیمم تعداد ضرب ها
متوجه شدم منظورتون رو. توو پست بالا هم یه لینکی از ویکیپدیا دادم که این کد رو به صورت شبه کد و هم به صورت جاوا نوشتند که تفاوت جزئی با سیشارپ داره و میتونید خط به خط کدش رو تبدیل کنید.
علت اینکه بهتون کد رو نشون دادم این هست که خیلی شبیه کد خودتون هست و میتونید با مقایسه با کدی که نوشتید، متوجه بشید که کجا اشتباه کردید. یه سری متغیرها رو هم حواستون باید باشه که global تعریف کنید. اون تابع min هم که استفاده میکنید و هیچ جا هم تعریف نکردید اشتباه هست چون min باید حداقل دو تا عدد بگیره، اینجا شما یه عدد میگیرید اگه اشتباه نکنم. باید با مقدار قبلی cost مقایسه کنید به نظرم (یعنی min بگیرید).
ممنون
حالا یه تغییراتی دادم بهش
Can I see some ID?
Feeling left out?
نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. رمزت رو فراموش کردی؟ اینجا به یادت میاریم! close