Amjadi - Ebook 4 - Array - v1
-
Upload
mohammad-amin-amjadi -
Category
Documents
-
view
59 -
download
2
Transcript of Amjadi - Ebook 4 - Array - v1
جان و خرد ایزدبنام
#cبرنامه نویسی و گردآورنده : محمّد امین امجدی، مترجم نویسنده
چهارمبخش Array : آرایه ها
C# 1برنامه نویسی چهارمبخش
تعریف نموده 011ها و به طول intنیاز داشته باشیم ، یک آرایه از intتا 011اگر به مثالاز عناصر هستند که ای آرایه ها مجموعه
نمودن یک آرایه تمام عناصر آن newکنیم و بعد از آن استفاده نمائیم و با new، توجه داشته باشید که حتما یک آرایه را باید
کنیم عناصر آن مقدار newمقدار پیش فرض نوع داده های آنرا می گیرد که مثال اگر آرایه ای از بولین تعریف کنیم و سپس آنرا
false گیرند و اگر آرایه از نوع میint باشد و آنراnew . کنیم عناصر آن مقدار صفر می گیرند
کنیم ) برای newها را intکردن نیز باید یک آرایه از نوع newتعریف می کنیم موقع intتوجه : وقتی آرایه ای از مثال از نوع
رار داد قآرایه ایجاد شده را از نوع دیگری ری و چندریختی می توان درس پیشرفته( )در درس شی گرا و با آشنایی با مفاهیم ارث ب
( ولی باز نمی توان از هر نوعی باشد
: آرایه های یک بعدی
using System; namespace Test_1 { class Program { static void Main() { int[] a = new int[5]; //Read for (int i = 0; i < a.Length; i++ ) { Console.Write("A[{0}] : " , i); a[i] = Convert.ToInt32(Console.ReadLine()); } //Write for (int i = 0; i < a.Length; i++) { Console.WriteLine("A[{0}] : {1}", i, a[i]); } Console.ReadKey(); } } }
a : a.Lengthطول آرایه
است و پرانتز باز و بسته ندارد . Propertyیک Lengthتوجه داشته باشید که
های آرایه از صفر هستند تا چهار می باشد .، اندیس 5توجه داشته باشید که برای آرایه ای به طول
C# 2برنامه نویسی چهارمبخش
: آرایه ای از آرایه ها
داریم . یک آرایه از آرایه هاخیلی خیلی راحت با این آرایه ها برخورد کنید ، ساختار این آرایه ها این است که using System; namespace Test_1 { class Program { static void Main() { int[][] a = new int[5][]; //Read for (int i = 0; i < a.Length;i++ ) { //****** a[i] is a int[] ********** // you can Read a[i] , write a[i] , sort [i] or .... //a[i] must use new opt for a[i] a[i] = new int[i + 1]; for(int j = 0 ; j < a[i].Length ; j++) { //a[i][j] is a int Console.Write("a[{0}][{1}] : ",i,j); a[i][j] = Convert.ToInt32(Console.ReadLine()); } } //Write for (int i = 0; i < a.Length; i++) { // a[i] is a int[] for (int j = 0; j < a[i].Length; j++) { Console.WriteLine("a[{0}][{1}] : {2}", i, j,a[i][j]); } } Console.ReadKey(); } } }
چند تا aمشخص کننده این است که این a.Lengthیک آرایه از آرایه هاست ؛ aدر مثال فوق توجه داشته باشید که
ها بوده )که می توان براحتی آنرا مرتب Intود یک آرایه از خ a[i]تا دارد( و 5ها دارد() intآرایه دارد )چند تا آرایه از
)سوال میان ترم( و یا هر عملیات دیگری که برای آرایه ها نوشته بودیم(نمود mergeکرد ، یا با یک آرایه دیگر
تا( ، حال باید توجه داشت 5ها داریم را مشخص می کنیم ) Intمی کنیم تعداد آرایه هایی که newرا aوقتی که آرایه
شود . newها بوده و خود باید حتما intیک آرایه از a[i]که
درست اند :خوب نگاه کنید ، همگی int[] a1; int[][] a2; int[][][] a3; int[][][][] a4;
C# 3برنامه نویسی چهارمبخش
بعدی : ماتریس ها : دوآرایه های
using System; namespace Test_1 { class Program { static void Main() { int[,] a = new int[2, 3]; //Read for (int i = 0; i < a.GetLength(0); i ++ ) { for(int j = 0 ; j < a.GetLength(1) ; j++) { Console.Write("a[{0},{1}] : ",i,j); a[i, j] = Convert.ToInt32(Console.ReadLine()); } } //Write for (int i = 0; i < a.GetLength(0); i++) { for (int j = 0; j < a.GetLength(1); j++) { Console.WriteLine("a[{0},{1}] : {2}", i, j,a[i,j]); } } تعداد سطرها// Console.WriteLine(a.GetLength(0)); تعداد ستون ها// Console.WriteLine(a.GetLength(1)); تعداد سطرها * تعداد ستون ها = تعداد کل عناصر ماتریس// Console.WriteLine(a.Length); Console.ReadKey(); } } }
: در اینجا سه بعدی را نمایش می دهیم : آرایه ها چند بعدی : همانند آرایه های دو بعدی می باشند
using System; namespace Test_1 { class Program { static void Main() { int[, ,] a = new int[2, 3, 4]; //Read for (int i = 0; i < a.GetLength(0); i ++ ) { for(int j = 0 ; j < a.GetLength(1) ; j++) { for (int k = 0; k < a.GetLongLength(2); k++) { Console.Write("a[{0},{1},{2}] : ", i, j, k); a[i, j, k] = Convert.ToInt32(Console.ReadLine()); } } } //Write for (int i = 0; i < a.GetLength(0); i++) {
C# 4برنامه نویسی چهارمبخش
for (int j = 0; j < a.GetLength(1); j++) { for (int k = 0; k < a.GetLongLength(2); k++) { Console.WriteLine("a[{0},{1},{2}] : {3}", i, j, k, a[i, j, k]); } } } تعداد عناصر بعد صفر// Console.WriteLine(a.GetLength(0)); تعداد عناصر بعد یک// Console.WriteLine(a.GetLength(1)); تعداد عناصر بعد دو // Console.WriteLine(a.GetLength(2)); عناصر بعد صفر * تعداد عناصر بعد یک * تعداد عناصر بعد دوتعداد = تعدا کل عناصر آرایه// Console.WriteLine(a.Length); Console.ReadKey(); } } }
موارد زیر درست اند : int[] a1; int[,] a2; int[, ,] a3; int[, , ,] a4;
int[, , , ,] a5;