خانه / آموزش / تمرین‌های آموزشی / ماتریس (تا پایان جلسه ششم)

ماتریس (تا پایان جلسه ششم)

سطح سوال: متوسط

آنچه باید از این جلسه بدانید:

  • مفهوم و کار با سازنده

فایل src.zip را دانلود کرده و کلاس Matrix را ببینید. در داخل این کلاس ۳ ویژگی ۳ سازنده و ۸ متد خالی وجود دارد. از شما می‌خواهیم با توجه به توضیحات جدول زیر، این سازنده‌ها و متدها را به درستی پیاده‌سازی کنید به گونه‌ای که با اجرای کد، رفتار مورد نظر ما را انجام دهند.

 

رفتار متد 
برای ساخت یک شی ماتریس با تعداد سطر و ستون‌های دلخواه، از این سازنده استفاده می‌شود. با توجه به ورودی‌ها، باید ویژگی‌های کلاس به درستی مقداردهی شوند. public Matrix(int row, int column)
برای ساخت یک شی ماتریس مربعی با اندازه‌ی دلخواه، از این سازنده استفاده می‌شود. با توجه به ورودی، باید ویژگی‌های کلاس به درستی مقداردهی شوند. public Matrix(int length)
برای ساخت یک شی ماتریس با استفاده از یک آرایه‌ی دو بعدی، از این سازنده استفاده می‌شود. با توجه به ورودی، باید ویژگی‌های کلاس به درستی مقداردهی شوند. public Matrix(int[][] elements)
تعداد سطرهای ماتریس را برمی‌گرداند. public int getRow()
تعداد ستون‌های ماتریس را برمی‌گرداند. public int getColumn()
یک آرایه‌ی دوبعدی شامل درایه‌های ماتریس را برمی‌گرداند. برای دسترسی به یک درایه‌ی خاص از ماتریس نیز می‌توان از آن استفاده کرد. public int[][] getElements()
یک ماتریس به عنوان ورودی می‌گیرد و اگر سایزش با سایز ماتریس شی جاری برابر بود، درایه‌هایش را نظیر به نظیر با درایه‌های ماتریس شی جاری جمع کرده و مقدار true برمی‌گرداند.
در غیراین‌صورت عمل جمع انجام نشده و مقدار false برگردانده می‌شود.
public boolean add(Matrix newMatrix)
مقدار value را در درایه‌ی سطر iام و ستون jام درج می‌کند. public void setElement(int i, int j, int value)
اگر ماتریس شی جاری مربعی باشد مقدار true و در غیراین‌صورت مقدار false برمی‌گرداند. public boolean isSquareMatrix()
 اگر مارتیس شی جاری، مربعی باشد آن را تبدیل به ماتریس پایین مثلثی می‌کند.  public void toLowerTriangular()
 اگر ماتریس شی جاری، مربعی باشد آن را تبدیل به ماتریس بالا مثلثی می‌کند.  public void toUpperTriangular()

نکات:

  • اندیس درایه‌های ماتریس را همواره صفر-base در نظر بگیرید. مثلا یک ماتریس ۴*۳ که  ۳ سطر دارد و ۴ ستون، اندیس سطرها از ۰ تا ۲ و اندیس ستون‌ها از ۰ تا ۳ خواهد بود. بنابراین در متد setElement نیز مقدار i و j هم به صورت صفر-base داده می‌شود.
  • ماتریس پایین‌مثلثی، ماتریسی است که تمامی درایه‌های بالای قطر اصلی برابر با صفر هستند.
  • ماتریس بالا مثلیلی، ماتریسی است که تمامی درایه‌های پایین قطر اصلی برابر با صفر هستند.
  • متد add به این صورت عمل می‌کند که همانطور که گفته شد، اگر سایز ماتریس ورودی با سایز ماتریس شی جاری یکسان بود، مقدار درایه‌های ماتریس شی جاری برابر می‌شود با مقدار فعلی‌شان به اضافه‌ی مقدار درایه‌ی متناظر در ماتریس ورودی.

آنچه باید آپلود کنید:

فقط فایل Matrix.java را به صورت زیپ‌شده آپلود کنید. یعنی وقتی فایل زیپ را باز می‌کنیم، فقط فایل Matrix.java را ببینیم.

برای داوری تمرین، می‌توانید پاسخ خود را در سایت Quera به نحوی که در بالا گفته شد، بارگذاری کنید.

 


درباره مهناز خورسندی

همچنین بررسی کنید

ماشین‌سازی (تا پایان جلسه ششم)

سطح سوال: ساده آنچه از این جلسه باید بدانید: فرآیند مقداردهی اولیه اشیا سازنده ترتیب …

۲ نظر

  1. پاسخ این سوال رو میشه دید ؟

     
    • سلام
      خیر. شما می‌تونید طبق توضیحاتی که اینجا داده شده تا حدودی متوجه اشکالتان شوید. در غیر صورت خوشحال می‌شیم در سایت Quera در قسمت سوال بپرسید، مشکلتان را با ما در میان بگذارید تا بتوانیم شما را راهنمایی کنیم.

       

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *