المصفوفات إحاديه الابعاد

مَنفـى

Well-known member
المصــفوفات إحـــاديــه الابعــــــاد

السلام عليكم

هأي المصفوفه احاديه الأبعاد

المصفوفه: هو مبنى معطيات بتكون من عده حدود(خلايا)متجاوره بتحتوي على قيم من نفس النمط وبأمكانا الوصول والتوجه لأي حد من حدود المصفوفه بصصوره مباشرة.
ولكل مصفوفه إلها اسم ولكل حد جوا المصفوفه كمان الو رقم(عنوان) وبنقدر بواسطتوا انو نوصل لكل حد ونستعمل القيمه المخزونة جوا هاد الحد.

تعريف المصفوفه بلغه السي شارب
بشكل عام بنعرف المصفوفه كدا
;اسم المصفوفه نمط
هسا هاد مثال ع تعريف المصفوفه
int a;
int b;
double c;
string names;
هسا بهادا المثال عرفت هدول
مصفوفه اسمها a بحيث انو كل حد فيها من نمط int
ومصفوفة اسما b كمان كل حد فيها من نمط int
مصفوفه اسما c وكل حد بيها من نمط double
ومصفوفة اسما names وكل حد بيها من نمط string

حجز مكان للمصفوفه في الذاكره وتحديد كبرها
نحن هسا عرفنا المصفوفه a في المثال يلي حطيتو بس ما حددنا حجمها
فادا كنا بدنا نحدد كبر المصفوفهaب 20 حد بنكتب كدا
a = new int[20];
وادا كنا بدنا نحدد المصفوفهc ب10 بنكتب كدا
c = new double[10];
وادنا بدنا نحدد كبر المصفوفه names ب 15 حدود بنحط كدا
names=new string[15];

وبشكل عام بنحجز مكان للمصفوفه بالذاكرة كدا
اسم المصفوفه=Newنمط
[عدد الحدود];

هسسا هدول ملاحظات مهمه
رقم الحد الأول في المصفوفه بيكون الحد رقم0 والحد التاني بيكون رقم 1 والحد التالت بيكون رقم 2 وهيك...
ولما بدنا نحجز المكان لازم نستعمل نفس النمط يلي عرفنا فيه المصفوفه
بنستعمل الامر new لحجز مكان بذاكرة الحاسوب بس لازم انو نحدد كبر المصفوفه يعني عدد حدودها.

هادي طريقه مختصره لتعريف مصفوفه وحجز مكان إلها بالذاكره:
بنعرف المصفوفه وحجز المكان بالذاكره مثل هيك
نمط اسم المصفوفه =new نمط [عدد الحدود];
وهيك بنقدر نعرف ونحجز المصفوفات في المثال اللي حطيتو
كدا
int a =new int[20];
double c =new double[10];
string names = new string[15];

كيفيه الوصول والتوجه لحدود المصفوفه:
لحتى نتوجه لحد معين في المصفوفه لازم نذكر اسم المصفوفه ورقم الحد ولازم يكون بين قوسين

وهادا مثال:
لو عرفنا المصفوفه a كدا
int a =new int[5];
وهدا بيعني ان المصفوفه a بتحتوي على خمس أعداد صحيحه ، بحيث انو الحد الأول هو[0]a والحد التاني هو[1]a والحد التالت هو [2]a والحد الرابع هو[3]a والحد الأخير هو [4]a

ادخال قييم للمصفوفه
لحتى ندخل قيم لجميع خلايا المصفوفه بالترتيب بنستعمل حلقه تنفيذ بنفس عدد الخلايا
مثلا لو بدنا ندخل قيم للمصفوفه a بنكتب هادا المقطع
for (i=0; i<5 ; i ++)
a=int.Parse(Console.ReadLine( ));

ملاحظه مهمه وهي انو بنقدر نعطي قيم للمصفوفه لما نعرفها
متل هيك
int a={6,8,0,40,77};
char c={'a','y','k'};
string colors={"red","blue","green"};

طباعه قيم خلايا المصفوفه
بهاي الحاله كمان احنا بحاجه ل حلقه تنفيذ بنفس عدد الحدود وبكل مره نطبع قيمه حد معين حسب الترتيب
for (i=0 ; i<5; i++)
Console.WriteLine(a);


التابعه للمصفوفهLength الخاصيه
بلغه السي شارب المصفوفه بتكون عباره عن كائن وبتكون إلها عده خصائص مهمه ومنها خاصيه Length اللي بتعيد كبر المصفوفه
هاي الخاصيه مهمه جدا لانو ما بنكون محتاجين انو نتذكر في كل مرحله بالبرنامج عدد حدود المصفوفه
هاد مثال
لو عرفنا المصفوفه a كدا
int a = new int[5];
هيك الخاصيه a.Lengthبتعيد القيمه5.

نجاعه المكان بالذاكره:
لما بنعرف مصفوفه ذات n حدود فهيك بيتم حجز n أمكنه في ذاكره الحاسوب لاستعمال المصفوفه،ولما بنعلن عن عده مصفوفات بنفس البرنامج ولكل مصفوفه عدد معين من الحدود بيتم حجز عدد كبير من الحدود وبما انو ذاكره الكمبيوتر محدوده لازم نستعمل المصفوفات بس في الحالات الضرورية
ولازم كل واحد يعرف يميز بين الحالات اللي لازم نستعمل فيها مصفوفه وبين الحالات اللي مش لازم نسعملها.

تزحلق/انزلاق من حدود المصفوفه:

هسا لما نكتب مقطع معين بيشمل قسم من حدود المصفوفه،لازم ننتبه بانو ما نكتب أمر بيأدي ل التوجه الى خليه مش موجوده في مجال حدود المصفوفه وهاد بتسمى بالتزحلق.
هاد مثال
من المفروض انو المقطع اللي راح حطوا يقوم بطباعه مجموعه كل قيمتين متتاليتين في مصفوفه a ذات n خلايا.
for (i =0 ;i < = N-1 ; i ++)
Console.WriteLine(a[i+1]+a);
هسا لما تكون قيمه0=i تطبع القيمه
(a[1] + a[0])
فهادا أمر طبيعي
وبرضوا لما تكون قيمه 1=i تطبع القيمه
(a[2] + a[1])
كمان هاد أمر طبيعي

لكن لما تكون قيمه
i=N-1
بتطبع القيمه
(a[N] + a[N-1])
وهاد بيأدي لتزحلق عن حدود المصفوفه لانو مافي بالمصفوفه خليه عنوانها رقمN
ولهيك ومن المفروض انو نكتب المقطع بهاد الشكل
for (i =0 ; i<N-1 ;i++)
Console.WriteLine(a[i+1]+a);


وبكدا بنكون أنهينا المصفوفات احاديه الابعاد
اتمنى تكوونو فهمتوا
وان ششاء الله
راح انزل "المصفوفات ثنائية الأبعاد"
 
رد: المصــفوفات إحـــاديــه الابعــــــاد

الله يسامحك ماده مصفوفات وراي وراي :(
يعطيك العافيه حبيبتي
 
رد: المصــفوفات إحـــاديــه الابعــــــاد

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