منتديات Dreams
مرحبا بك مجددا في منتديات Dreams
اتمنى ان تستمتع بالاقامة معنا

درس في المصفوفات

استعرض الموضوع السابق استعرض الموضوع التالي اذهب الى الأسفل

default درس في المصفوفات

مُساهمة من طرف مس روبن في السبت يوليو 17, 2010 10:00 am

السلام عليكم ورحمة الله

المصفوفات:
أولا كيف يتم تعريف المصفوفات:

1- المصفوفات أحادية البعد:
يتم تعريف المصفوفات أحادية البعد على الشكل:

الرمز PHP:
int[] MyArr = new int[50];

حيث يكون في الكود هذا لدينا مصفوفة بالأسم MyArr تحوي على 50 حقل حيث يمكنك تعبئت حقولها على الشكل:

الرمز PHP:
MyArr[0] = 5;

هنا أصبحت الخانة الأولى للمصفوفة = 5

جرب معي المثال التالي:
أولا عرف المصفوفة كما فعلنا أعلاه وأبقيها على نفس الإسم ولكن حدد خاناتها ب 5 كالتالي:

الرمز PHP:
int[] MyArr = new int[5];

أنتبه هنا الخانة MyArr[5] خارج مجال المصفوفة وذلك لأن العد يبدأ من الصفر
والان ضع Button وفي الحدث Click الخاص به أكتب:


الرمز PHP:
int[] MyArr = new int[5];
MyArr[0] = 1;
MyArr[1] = 2;
MyArr[2] = 3;
MyArr[3] = 4;
MyArr[4] = 5;
MessageBox.Show(MyArr[0].ToString() + MyArr[1] + MyArr[2] + MyArr[3] + MyArr[4]);

ولاحظ...
قد ظهرت رسالة كتب بها 12345 وذلك لأننا قمنا باستدعاء كل من خانات المصفوفة على التتالي
بعد تحديد القيمة لكل واحدة منهم...

مثال: ( هنا سوف نستخدم الحلقة التكرارية for إذا كنت لا تعرفها فقد تم شرحها في الدرس 5)

ضع Button و TextBox واكتب في الحدث Click لل Button ما يلي:


الرمز PHP:
int[] MyArr = new int[26];
for (int x = 0;x < 26;x++)
{
MyArr [x] = x;
}
foreach (int x in Arr)
{
textBox1.Text += " " + x.ToString();
}

جرب الكود ولاحظ
سوف تكون النتيجة أن ال textBox1 أصبح بداخله كالتالي:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
شرح الكود:

أولا قمنا بتعريف مصفوفة
ثانيا:
في حلقة التكرار كان المتغير x يزيد 1 في كل مرة ينفذ فيها الكود
وكانت الخانة الموافقة للمتغير x في المصفوفة MyArr تصبح تساوي x
مما سوف يشكل لنا في النهاية أن خانات MyArr سوف تكون من 0 إلى 25
وهذا ما حصل...

_____________________ المصفوفات متعددة الأبعاد _____________________________

يتم تعريف هذا النوع من المصفوفات كالتالي:


الرمز PHP:
int[,] MyArr = new int[5,5];


فمثلا بالمصفوفة التي تم تعريفها في الأعلى ( Arr وليس matrix )
في الواقع هي تحتوي على 25 خانة

يتم القراءة من المصفوفات عن طريق الحلقة التكرارية foreach
على الشكل:


الرمز PHP:
foreach (int x in MyArr)
{
MessageBox.Show(x.ToString());
}

خصائص المصفوفات:
Rank : تحدد عدد الأبعاد في المصفوفة
ToString : تحويل المصفوفة إلى متغير من نوع String كما ورد في الدروس السابقة
Reverse : تقوم بعكس العناصر التي في داخل المصفوفة
Sort : ترتيب عناصر المصفوفة
Length : تحديد طول عناصر المصفوفة


أظن أنه قد أصبح لديك معلومات جيدة عن المصفوفات والتعامل معها والان لنبدأ بالقسم الثاني من الدرس وهو :
_____________________________ التراكيب Structures ________________________

إن ال Structures تسهل كثيرا من العمل في حال كنا نود إضافة كائنات جديدة مثل تعريف نوع بإسم
(كتاب)
ملاحظة : لا تكتب ال Structures في داخل أمر ما وإنما تكتب في داخل Classes أو NameSpaces
يعني سوف نكتب ال Structures:


الرمز PHP:
namespace WindowsFormsApplication6
{
هنا ممكن
public partial class Form1 : Form
{
هنا ممكن
public Form1()
{
InitializeComponent();
هنا لا يمكن
}

private void button1_Click(object sender, EventArgs e)
{
هنا غير ممكن
}
هنا ممكن
}
}

وحتى لو كتبتها بعد ما تم إستيراد المجالات ممكن ولو كانت خارج ال NameSpace الخاص بالرنامج !!!

مثال :

قم بكتابة struct كالتالي:

الرمز PHP:
struct Book
{
public string BookName;
public int BookPrice;
public string BookWriter;
}

والان جرب في أمر جديد تعريف متغير ككتاب:

الرمز PHP:
private void mybooktest()
{
Book Mybook = new Book();
Mybook.BookName = "C# Language";
Mybook.BookPrice = 200;
Mybook.BookWriter = "tarek aldwire";
}

والان سوف نرى كيف يمكن إنشاء دوال داخل ال struct

سوف نأخذ المثال السابق بعد التعديل إنظر كيف سوف يصبح:


الرمز PHP:
struct Book
{
public string BookName;
public int BookPrice;
public string BookWriter;
public void RenameBook(string NewName)
{
BookName = NewName;
}
}

حيث هنا أصبح بإمكاننا إعادة تسمية الكتاب...



إلى اللقاء في الدرس القادم إن شاء الله....



مس روبن

علم بلادك :
انثى
عدد المساهمات : 145
شكر : 1
تاريخ التسجيل : 03/06/2009
العمر : 25

بطاقة الشخصية
sms:
نقاط القوة:
100/500  (100/500)

الرجوع الى أعلى الصفحة اذهب الى الأسفل

default رد: درس في المصفوفات

مُساهمة من طرف سهام محمد محمد في الإثنين أبريل 15, 2013 2:26 pm

لو سمحت انا عندى مصفوفتين الاولى بتدخل id والتانى الدرجات ثم رتبت الدرجات وعلى اساس ترتيب الدرجات انا عايزه ارتب id

سهام محمد محمد

علم بلادك :
انثى
عدد المساهمات : 1
شكر : 0
تاريخ التسجيل : 15/04/2013
البلد : مصر

الرجوع الى أعلى الصفحة اذهب الى الأسفل

استعرض الموضوع السابق استعرض الموضوع التالي الرجوع الى أعلى الصفحة


 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى