Problem

1 /12


ماتریس چیست؟ ایجاد، نمایش

Theory Click to read/hide

مقدمه.

اغلب، هنگام کار با هر اطلاعاتی، باید با داده های جدولی سروکار داشته باشید. برنامه های مدرن اغلب با چنین داده هایی کار می کنند. ساده ترین مثال برنامه نویسی بازی های روی تخته شطرنجی است: تیک تاک، شطرنج، چکرز و غیره.

در ریاضیات به چنین ساختارهایی ماتریس می گویند.

 
ماتریس یک جدول مستطیل شکل است که از عناصری از همان نوع (اعداد، رشته ها و غیره) تشکیل شده است.< / span>

اینگونه داده ها در سی شارپ را می توان به صورت آرایه های دو بعدی ذخیره و پردازش کرد - "آرایه های آرایه ها"
برای پردازش داده های جدول، لازم است وضعیت هر سلول (سلول) را به خاطر بسپارید. هر سلول دو عدد دارد: یک شماره ردیف و یک شماره ستون.
در ماتریس، هر عنصر دارای دو شاخص است: ابتدا شماره ردیف و سپس شماره ستون مشخص می شود. شماره گذاری سطرها و ستون ها از صفر شروع می شود.
برای مثال، عنصر A[1, 2] عنصری است که در ردیف دوم و ستون سوم قرار دارد.

درست مانند آرایه های معمولی، برای کار با ماتریس ها، باید یاد بگیرید که آنها را ایجاد کنند، وارد کنید، پردازش کنید و نمایش دهید.

یک ماتریس ایجاد کنید. امکان ایجاد یک در حافظه ماتریس یک اندازه معین که با مقادیر اولیه پر شده است.

int[،] آرایه = int جدید[4، 2]; // 4 ردیف، 2 ستون

 

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

<پیش> برای (int i=1; i <= N, i++) { / / N - تعداد خطوط برای (int j=1; j <= N, j++) { // M تعداد ستون‌ها است A[i، j] = ...   } } نمایش ماتریس.

دو حلقه تودرتو معمولاً برای پردازش و نمایش لیست استفاده می شود. حلقه اول روی شماره خط است، حلقه دوم روی عناصر داخل خط است.  برای  خروجی ماتریس روی صفحه خط به خط، جدا کردن اعداد با فاصله در یک خط، باید قطعه زیر را بنویسید:
  <پیش> برای (int i=1; i <= N, i++) { برای (int j=1; j <= N, j++) { کنسول. Write(A[i, j] + " ");   }   Console.WriteLine(); // به یک خط جدید بروید }

می توانید همین کار را انجام دهید، اما به جای فهرست از حلقه های لیست استفاده کنید ( foreach). سعی کنید زیربرنامه ای بنویسید که خودتان این کار را اجرا کند.

Problem

یک ماتریس باینری (شامل فقط 0 و 1) را در یک صفحه شطرنجی پر کنید الگو. باید یک عنصر تهی در گوشه سمت چپ بالا وجود داشته باشد.

داده های ورودی: خط ورودی حاوی ابعاد ماتریس جدا شده با فاصله است: تعداد سطرها  و تعداد ستون‌ها ( 1 <= ، M < ;=< /em> 100 ).

خروجی: برنامه باید سطر به سطر یک ماتریس باینری خروجی دهد.

مثال. <سر> <بدن>
# ورودی خروجی
1 4 5 0 1 0 1 0
1 0 1 0 1
0 1 0 1 0
1 0 1 0 1