SlideShare a Scribd company logo
‫ابعة‬‫ر‬‫ال‬‫املحاضرة‬
1
‫املصفوفات‬
ghadeer-al-hasan ghadeerof@gamil.com
‫إعداد‬:‫م‬.‫الحسن‬ ‫غدير‬
‫املصفوفة‬:‫القيم‬ ‫من‬‫مجموعة‬ ‫لتخزين‬‫تستخدم‬ ‫معطيات‬ ‫بنية‬
‫الذاكرة‬‫بخانات‬ ‫متسلسل‬ ‫بشكل‬‫القيم‬‫ن‬‫تخز‬
‫عنها‬‫التصريح‬ ‫بعد‬‫مباشرة‬ ‫بشكل‬‫حجمها‬‫تغير‬‫يمكن‬‫ال‬ ‫حيث‬ ،‫البرنامج‬‫فترة‬ ‫طيلة‬ ‫ثابت‬ ‫حجم‬ ‫تأخذ‬
‫باملصفوفة‬‫ن‬‫ستخز‬‫التي‬ ‫القيم‬ ‫هي‬ ‫ما‬ ‫ه‬‫ر‬‫بدو‬ ‫يحدد‬ ، ‫البيانات‬ ‫من‬ ‫واحد‬‫نمط‬ ‫لها‬‫مصفوفة‬ ‫كل‬
‫الواحدة‬‫باملصفوفة‬‫نمط‬ ‫من‬‫أكثر‬‫تخزين‬‫يمكن‬‫ال‬
‫تعريف‬ 2
Type Name[size];
‫القوسين‬ ‫ضمن‬‫حجمها‬ ‫تحديد‬ ‫يتم‬ ‫حيث‬ ،‫عنها‬‫التصريح‬ ‫أثناء‬ ‫املصوفة‬ ‫حجم‬ ‫تحديد‬ ‫يجب‬
int a[10];
float b[15];
char name[100];
‫للمص‬ ‫ابتدائية‬ ‫قيم‬ ‫إعطاء‬ ‫يتم‬‫ف‬‫مس‬ ‫بشكل‬ ‫عنا‬‫التصريح‬ ‫بعد‬‫أو‬‫عنها‬‫التصريح‬ ‫أثناء‬ ،‫وفة‬‫ت‬‫قل‬
‫ابتدائية‬ ‫بقيم‬ ‫املصفوفة‬ ‫تهيئة‬ 3
‫دليلها‬‫خالل‬ ‫من‬‫املصفوفة‬ ‫لقيم‬‫ل‬‫الوصو‬ ‫يتم‬index
‫العنصر‬‫لقيمة‬ ‫للوصل‬‫املصفوفة‬‫قوسين‬ ‫بين‬ ‫الدليل‬ ‫وضع‬ ‫يتم‬ ‫حيث‬
‫له‬ ‫المقابل‬ ‫الدليل‬ ‫العنصر‬
0 ‫األول‬
1 ‫الثاني‬
2 ‫الثالث‬
3 ‫الرابع‬
… ...
Size - 1 ‫األخير‬
‫املص‬ ‫قيم‬‫إدخال‬‫ف‬‫وفة‬‫التنفيذ‬‫شاشة‬ ‫على‬‫قيمها‬ ‫وطباعة‬ ،‫املفاتيح‬ ‫لوحة‬ ‫من‬
‫معها‬ ‫التعامل‬ ‫لتسهيل‬‫املصفوفات‬ ‫مع‬ ‫التعامل‬ ‫عند‬ ‫الحلقات‬‫استخدام‬ ‫يتم‬
‫للمصفوفة‬ ‫كدليل‬ ‫الحلقة‬ ‫عداد‬‫نستخدم‬ ‫حيث‬
‫باملصفوفات‬ ‫واإلخراج‬‫اإلدخال‬ 4
‫باملصفوفات‬ ‫واإلخراج‬‫اإلدخال‬ 5
‫عناصر‬‫ثالثة‬ ‫من‬‫مصفوفة‬ ‫لدينا‬‫لنفرض‬a[3]
‫الدليل‬ ‫نحتاج‬ ،‫األخير‬‫للعنصر‬ ‫ل‬‫للوصو‬2(‫الحجم‬–1)
‫كتبنا‬‫لو‬ ‫ماذا‬a[3]‫؟؟؟‬‫العنصر‬‫قيمة‬ ‫هي‬ ‫ما‬ ،
‫املصفوفة‬‫لخارج‬‫ل‬‫الوصو‬ 6
‫واحدة‬‫بتعليمة‬‫النمط‬‫نفس‬ ‫من‬‫مصفوفات‬ ‫عدة‬ ‫عن‬‫التصريح‬‫يكمن‬
‫مالحظات‬ 7
Int a[10], b[3] = {10, -1, -5};
‫عنها‬‫التصريح‬ ‫عن‬ ‫املعطاة‬ ‫العناصر‬ ‫عدد‬ ‫من‬‫حجمها‬ ‫تحديد‬ ‫يتم‬ ،‫للمصفوفة‬ ‫حجم‬ ‫إعطاء‬‫عدم‬ ‫عند‬.
Char name[] = {‘a’,’z’,’k’};
‫مالحظة‬:‫التهيئة‬ ‫عند‬‫صفر‬‫قيمة‬ ‫بإعطاء‬ ‫قم‬ ،‫تكرار‬‫حلقة‬ ‫ن‬‫بدو‬‫صفر‬‫املصفوفة‬ ‫قيم‬‫جميع‬ ‫إعطاء‬ ‫دت‬‫ر‬‫أ‬‫حال‬ ‫في‬(‫ل‬‫ألو‬
ً
‫عمليا‬
‫عنصر‬)‫صفر‬ ‫قيمة‬ ‫سيأخذ‬‫العناصر‬ ‫من‬ ‫تبقى‬ ‫وما‬(
ً
‫الحقا‬‫ذكرنا‬‫كما‬)
‫من‬ ‫مكونة‬‫مصفوفة‬ ‫إعطاء‬‫حال‬ ‫في‬10‫عناصر‬ ‫سبعة‬‫أو‬‫عناصر‬ ‫لثمانية‬ ‫ابتدائية‬ ‫قيم‬ ،‫عناصر‬(‫حجمها‬ ‫من‬ ‫أقل‬)‫سيتم‬
‫العناصر‬ ‫من‬ ‫تبقى‬ ‫ملا‬‫صفر‬ ‫قيمة‬ ‫إعطاء‬
‫من‬ ‫مصوفة‬ ‫لدينا‬ ‫كان‬‫حال‬ ‫في‬4‫ل‬ ‫ابتدائية‬ ‫قيم‬ ‫وإعطاءه‬‫عنها‬‫التصريح‬ ‫وعند‬ ،‫عناصر‬7‫البرنام‬ ‫من‬ ‫خطأ‬ ‫مي‬‫ر‬ ‫سيتم‬‫عناصر‬‫ج‬
‫مثال‬ 8
‫مصفوفة‬‫عناصر‬ ‫مجموع‬ 9
‫بشكل‬ ‫مصفوفة‬‫عناصر‬ ‫قيم‬ ‫لطباعة‬ ‫مثال‬Histogram 10
‫تمهيدي‬‫مثال‬ 11
‫نرد‬‫حجر‬ ‫ات‬‫ر‬‫ظهو‬‫تواتر‬‫حساب‬
‫توليد‬ ‫نريد‬6000‫بين‬‫قيمهم‬‫ة‬‫ر‬‫محصو‬ ‫عشوائي‬ ‫قم‬‫ر‬1‫و‬6
‫الستة‬‫النرد‬ ‫وجه‬ ‫من‬ ‫وجه‬ ‫كل‬‫ر‬‫ظهو‬‫تكرار‬ ‫معرفة‬ ‫بعدها‬ ‫ونريد‬
‫املصفوفات‬‫باستخدام‬ ‫وذلك‬
‫الحل‬‫أفكار‬:
‫حلقة‬‫ضمن‬ ‫سنولد‬
ً
‫بداية‬6000‫عشوائي‬ ‫قم‬‫ر‬
‫نرد‬‫حجر‬‫وجوه‬ ‫من‬ ‫وجه‬‫ر‬‫ظهو‬‫تكرار‬ ‫هي‬‫قيمها‬ ،‫عناصر‬ ‫ستة‬ ‫من‬ ‫مصوفة‬ ‫لدينا‬ ‫ن‬‫سيكو‬
‫ه‬‫ر‬‫ظهو‬‫تكرار‬ ‫هي‬‫العنصر‬ ‫هذه‬‫وقيمة‬ ،‫ظهر‬‫الذي‬‫الوجه‬ ‫عن‬‫للتعبير‬‫املصفوفة‬ ‫دليل‬ ‫سنتسخدم‬
12
‫نرد‬‫حجر‬ ‫ات‬‫ر‬‫ظهو‬‫تواتر‬‫حساب‬
‫توليد‬ ‫نريد‬6000‫بين‬‫قيمهم‬‫ة‬‫ر‬‫محصو‬ ‫عشوائي‬ ‫قم‬‫ر‬1‫و‬6
‫الستة‬‫النرد‬ ‫وجه‬ ‫من‬ ‫وجه‬ ‫كل‬‫ر‬‫ظهو‬‫تكرار‬ ‫معرفة‬ ‫بعدها‬ ‫ونريد‬
‫املصفوفات‬‫باستخدام‬ ‫وذلك‬
13
‫محرفية‬ ‫سلسلة‬‫في‬‫أحرف‬‫تواتر‬ ‫حساب‬
‫كان‬ ‫إذا‬char‫واحد‬‫حرف‬ ‫لنا‬ ‫يمثل‬‫نمط‬ ‫من‬ ‫مصفوفة‬ ‫فأن‬ ،char‫ف‬‫ر‬‫محا‬‫سلسلة‬ ‫لنا‬‫تمثل‬
‫سلسلة‬‫ضمن‬‫حرف‬ ‫كل‬‫ر‬‫ظهو‬‫تواتر‬‫حساب‬ ‫نريد‬
‫فقط‬‫صغيرة‬‫أحرف‬ ‫على‬‫إال‬‫ي‬‫تحتو‬‫ال‬ ‫السلسلة‬ ‫أن‬ ‫العلم‬ ‫مع‬(‫املسألة‬ ‫لتسهيل‬)
‘a’ ‘d’ ‘e’ ‘a’ ‘f’ ‘f’ ‘a’ ‘j’
Char str[]
‫األحرف‬ ‫عدد‬‫عام‬ ‫بشكل‬26‫لتخزين‬‫مصفوفة‬‫يلزمنا‬،‫حرف‬26‫بالسلسلة‬ ‫ه‬‫ر‬‫ظهو‬‫متوقع‬‫حرف‬ ‫ألي‬‫تكرار‬
‫حرف‬‫ترميز‬a‫ل‬‫جدو‬ ‫في‬ASCII‫هو‬97
‫حرف‬‫ر‬‫ظهو‬ ‫عند‬b‫من‬‫سنطرحهه‬
ُ
‫مثال‬‘a’‫هو‬ ‫الناتج‬1‫التكرار‬‫بمصفوفة‬ ‫الدليل‬ ‫هذه‬‫ن‬‫سيكو‬،
‫حرف‬‫ر‬‫ظهو‬ ‫عند‬c‫من‬‫سنطرحه‬‘a’‫وهو‬‫دليله‬ ‫على‬‫لنحصل‬2
‫الحرف‬ ‫دليل‬‫هو‬ ‫ما‬a‫الصفر‬‫هو‬ ‫؟؟‬
‫على‬
ً
‫اعتمادا‬‫األبجدي‬‫تسلسلها‬‫ضمن‬‫التكرار‬‫مصفوفة‬‫ضمن‬‫األحرف‬ ‫وضعنا‬‫ن‬‫نكو‬‫بهذا‬ASCII
14
‫محرفية‬ ‫سلسلة‬‫في‬‫أحرف‬‫تواتر‬ ‫حساب‬
‫الحرف‬ ‫يمثل‬ ‫والذي‬ ‫صفر‬ ‫الدليل‬ ‫أن‬ ‫يوضح‬ ‫التالي‬ ‫الشكل‬a‫هي‬‫قيمته‬3‫ظهر‬‫مرات‬ ‫ثالث‬‫يعني‬ ،
‫الدليل‬2‫الحرف‬ ‫يمثل‬ ‫والذي‬c‫هي‬ ‫قيمته‬2‫مرتين‬‫ظهر‬ ‫الحرف‬‫يعني‬
‫األخير‬ ‫الدليل‬25‫الحرف‬ ‫يمثل‬ ‫والذي‬z‫قيمته‬3‫مرات‬ ‫ثالث‬‫ظهر‬‫يعني‬ ،
3 5 2 1 .. … 0 4 8 3
int freq[26]
0 1 2 3 25
15
‫محرفية‬ ‫سلسلة‬‫في‬‫أحرف‬‫تواتر‬ ‫حساب‬
Str[3]
‫السلسلة‬ ‫من‬ ‫الثالث‬ ‫الحرف‬ ‫أن‬‫لنفرض‬Str‫هو‬c‫هو‬ ‫سبق‬‫ما‬ ‫على‬
ً
‫بناءا‬‫التكرار‬‫بمصفوفة‬ ‫دليله‬2
‫بزيادتها‬‫سأقوم‬ ‫كيف‬ ، ‫واحد‬ ‫هي‬‫تكرار‬ ‫قيمة‬ ‫أن‬‫يعني‬ ‫هذا‬ ، ‫سبق‬ ‫فيما‬ ‫واحدة‬‫مرة‬‫ظهر‬ ‫أنه‬‫سنفرض‬
Freq[ ] ++- ‘a’
Freq[2]++
16
‫محرفية‬ ‫سلسلة‬‫في‬‫أحرف‬‫تواتر‬ ‫حساب‬ 17
‫املحرفية‬ ‫السالسل‬
‫النمط‬ ‫من‬ ‫مصفوفة‬ ‫عن‬‫ة‬‫ر‬‫عبا‬ ‫هي‬ ‫املحرفية‬ ‫السلسلة‬char
‫خانة‬ ‫في‬‫وضعه‬ ‫يتم‬‫حرف‬ ‫كل‬
‫ي‬‫الصفر‬ ‫املحرف‬ ‫ن‬‫يكو‬ ‫سلسلة‬‫بأي‬‫محرف‬‫آخر‬‘0’‫املحرفية‬ ‫السلسلة‬ ‫لنهاية‬‫ليشير‬
‫ي‬‫الصفر‬ ‫املحرف‬‫ملراعاة‬ ‫وذلك‬، ‫ما‬‫سلسلة‬ ‫حجم‬‫تحديد‬ ‫عن‬‫الحذر‬ ‫أخذ‬
ً
‫دوما‬‫يجب‬ ‫لذلك‬
‘a’ ‘d’ ‘e’ ‘a’ ‘f’ ‘f’ ‘a’ ‘j’ ‘e’ ‘0’
Char str[10]
‫حجمها‬‫السابقة‬ ‫السلسلة‬10‫ي‬‫تحتو‬ ،9‫ي‬‫الصفر‬‫للمحرف‬ ‫حجزه‬‫تم‬‫األخير‬‫والعنصر‬‫عناصر‬
18
‫املحرفية‬ ‫بالسالسل‬ ‫واإلخراج‬‫اإلدخال‬
‫املصفوفة‬ ‫حجم‬‫باإلدخال‬‫ز‬‫تجاو‬‫حال‬ ‫في‬
‫املصفوفة‬‫خارج‬ ‫القيم‬ ‫تكتب‬ ‫فقد‬
19
‫املحرفية‬ ‫بالسالسل‬ ‫واإلخراج‬‫اإلدخال‬ 20
‫الساكنة‬ ‫املصفوفات‬Static
‫الساكن‬‫ل‬‫املتحو‬(‫ستاتيكي‬)‫البرنامج‬ ‫تنفيذ‬‫ة‬‫فتر‬ ‫طيلة‬ ‫عليه‬ ‫تطرأ‬‫التي‬ ‫بالتغييرات‬‫يحتفظ‬‫الذي‬ ‫هو‬
‫ساكنة‬ ‫أنها‬ ‫على‬‫مصفوفة‬ ‫عن‬‫التصريح‬‫يمكن‬
‫حفظه‬ ‫سيتم‬‫آخر‬ ‫تابع‬‫أو‬‫نفسه‬ ‫التابع‬‫ضمن‬ ‫كان‬ ‫سواء‬‫عليها‬ ‫أ‬‫ر‬‫سيط‬‫تغيير‬ ‫أي‬
‫ابتدائية‬ ‫بقيم‬‫تهيئتها‬ ‫ستم‬ ،‫ساكنة‬‫مصفوفة‬ ‫عن‬‫التصريح‬ ‫عند‬(‫ي‬ ‫افتراض‬ ‫بشكل‬)‫قيم‬ ‫إعطاءها‬ ‫عدم‬‫حال‬ ‫في‬
‫االفتراضية‬ ‫القيمة‬ ‫النمط‬
‫صفر‬ ‫العددية‬ ‫األنماط‬
False ‫البولياني‬ ‫النمط‬
‫فراغ‬ ‫المحرفي‬ ‫النمط‬
21
‫مثال‬ 22
‫كوسطاء‬ ‫املصفوفات‬‫تمرير‬
‫لتابع‬ ‫كوسيط‬‫املصفوفة‬‫تمرير‬‫يمكن‬
‫باملرجعية‬‫املصفوفة‬‫تمرير‬ ‫يتم‬(‫بالقيمة‬ ‫وليس‬)‫األصلية‬ ‫النسخة‬ ‫على‬ ‫به‬‫التأثر‬ ‫يتم‬‫عليها‬ ‫تعديل‬ ‫أي‬ ،
‫قوسين‬‫النمط‬ ‫بعد‬‫ذكر‬‫يكفي‬ ،‫التابع‬‫نموذج‬‫تصريح‬ ‫في‬[ ]‫التابع‬ ‫نموذج‬ ‫في‬‫املصوفة‬ ‫اسم‬ ‫تجاهل‬ ‫،يتم‬
Void myfunction (int []);
Void myfunction2 ( int a[]); // ignore
‫األقواس‬‫ذكر‬ ‫يتم‬ ‫ال‬ ،‫فقط‬ ‫باالسم‬‫املصفوفة‬ ‫اسم‬‫تمرير‬ ‫يتم‬ ، ‫التابع‬‫مناداة‬ ‫عند‬
‫اسمها‬ ‫مع‬‫املصفوفة‬ ‫اسم‬‫ذكر‬ ‫يتم‬ ‫التابع‬ ‫جسم‬ ‫كتابة‬ ‫عند‬
Void print(int a[], int size){
for(int i = 0; i<size; i++)
cout<<a[i]<<“ “;
}
23
‫مثال‬ 24
‫مالحظات‬
‫بالذاكرة‬ ‫متتالية‬‫خانات‬‫تحجر‬‫املصفوفات‬‫تذكر‬
‫للتابع‬ ‫باالسم‬‫املصفوفة‬‫ر‬‫نمر‬ ‫لذلك‬ ،‫بها‬‫عنصر‬ ‫ل‬‫أو‬ ‫على‬ ‫يدل‬‫املصفوفة‬ ‫اسم‬
‫باملرجعية‬ ‫ر‬‫تمر‬‫فإنها‬ ‫لتابع‬‫املصفوفة‬‫تمرير‬ ‫عند‬
‫بالقيمة‬ ‫ر‬‫يمر‬ ‫فأنه‬ ،‫فقط‬ ‫واحد‬‫عنصر‬‫تمرير‬ ‫عند‬
Int a[3] = {1,2,4};
Myfunction(a[2]);
‫مكان‬ ‫أي‬‫من‬ ‫له‬‫ل‬‫الوصو‬‫يمكن‬‫عام‬ ‫كثابت‬ ‫عنه‬‫تصريح‬‫أو‬ ،‫كوسيط‬ ‫الحجم‬‫تمرير‬‫يمكن‬ ،‫لتابع‬ ‫مصفوفة‬‫تمرير‬ ‫عند‬
‫ثابت‬ ‫أنها‬ ‫على‬ ‫املصوفة‬‫تمرير‬ ‫عند‬const‫التابع‬‫جسم‬ ‫ضمن‬‫عليها‬ ‫تعديل‬ ‫أي‬‫إجراء‬ ‫يتم‬‫فال‬
Void print(const int []);
25
‫الثنائية‬ ‫املصفوفات‬
‫تخزين‬ ‫بنية‬ ‫هي‬ ‫الثنائية‬‫املصفوفة‬
‫وأعمدة‬‫أسطر‬‫تملك‬ ‫هي‬
‫باألعمدة‬ ‫تمثل‬ ‫القيم‬ ‫من‬‫مجموعة‬ ‫على‬‫ي‬‫يحتو‬ ‫سطر‬ ‫كل‬
‫سطر‬ ‫كل‬‫أجل‬‫من‬ ‫األعمدة‬ ‫على‬‫ر‬‫و‬‫للمر‬ ‫والثانية‬‫األسطر‬ ‫على‬‫ر‬‫و‬‫للمر‬‫حلقة‬ ،‫معها‬ ‫للتعامل‬ ‫لحلقتين‬‫نحتاج‬
26
‫مثال‬
‫ثنائية‬ ‫مصفوفة‬‫عناصر‬‫بجمع‬‫يقوم‬ ‫تابع‬
27
‫توضيحي‬‫مثال‬
I,J J=1 J=2 J=3 J=4 J=4
I=1
I=2
I=3
I=4
1 4 6 7 8
4 5 8 2 9
5 7 8 2 2
1 2 3 4 5
J=1 J=2 J=3 J=4 J=4J=1 J=2 J=3 J=4 J=4J=1 J=2 J=3 J=4 J=4
28
‫مالحظات‬
‫واألعمدة‬‫األسطر‬ ‫حجم‬‫ذكر‬ ‫يجب‬ ، ‫ابتدائية‬ ‫قيم‬ ‫إعطاءها‬ ‫يتم‬ ‫ولم‬ ‫ثنائية‬‫مصفوفة‬ ‫عن‬‫التصريح‬ ‫عند‬
‫الثاني‬ ‫البعد‬‫تمرير‬ ‫يجب‬ ‫تعريف‬‫أو‬‫نموذج‬ ‫سواء‬ ‫تابع‬ ‫عن‬‫التصريح‬ ‫عن‬(‫األعمدة‬)‫ل‬‫األو‬ ‫البعد‬‫ذكر‬‫يجب‬‫وال‬
‫ل‬‫األو‬ ‫البعد‬ ‫عدا‬ ‫ما‬ ‫األبعاد‬‫جميع‬‫ذكر‬‫يجب‬ ، ‫ق‬‫فو‬ ‫وما‬‫الثالثية‬‫املصفوفات‬ ‫مع‬ ‫التعامل‬ ‫حال‬ ‫في‬
29
‫انتهت‬
‫ابعة‬‫ر‬‫ال‬‫املحاضرة‬
30
ghadeer-al-hasan ghadeerof@gamil.com

More Related Content

What's hot

مذكرة الترم الثانى
مذكرة الترم الثانىمذكرة الترم الثانى
مذكرة الترم الثانى
Hanaa Ahmed
 
ٍSource Entropy - binary symmetric channe - chapter one - two
ٍSource Entropy - binary symmetric channe - chapter one - twoٍSource Entropy - binary symmetric channe - chapter one - two
ٍSource Entropy - binary symmetric channe - chapter one - two
DrMohammed Qassim
 
Computer school-books-3rd-preparatory-1st-term-khawagah-2019-6
Computer school-books-3rd-preparatory-1st-term-khawagah-2019-6Computer school-books-3rd-preparatory-1st-term-khawagah-2019-6
Computer school-books-3rd-preparatory-1st-term-khawagah-2019-6
khawagah
 
c# المحاضره 4 @ 5 في
 c# المحاضره 4  @  5  في    c# المحاضره 4  @  5  في
c# المحاضره 4 @ 5 في
nermeenelhamy1
 
Shannon code & shannon fano & huffman method - chapter three
Shannon code  & shannon fano & huffman method  - chapter threeShannon code  & shannon fano & huffman method  - chapter three
Shannon code & shannon fano & huffman method - chapter three
DrMohammed Qassim
 
Repatino code - hamming code (7,4) - chapter four
Repatino code - hamming code (7,4) - chapter fourRepatino code - hamming code (7,4) - chapter four
Repatino code - hamming code (7,4) - chapter four
DrMohammed Qassim
 
الفصل الثانى
الفصل الثانىالفصل الثانى
الفصل الثانى
Hanaa
 
C++ syntax summary
C++ syntax summaryC++ syntax summary
C++ syntax summary
mohamedsamyali
 
حلقات التكرار
حلقات التكرارحلقات التكرار
حلقات التكرارmahaa6789
 
اوراق العمل
اوراق العملاوراق العمل
اوراق العملmahaa6789
 
مصفوفه
مصفوفهمصفوفه
java input & output Statments
java input & output Statmentsjava input & output Statments
java input & output Statments
Salem Adrugi
 
الرياضيات للصف الرابع الادبي
الرياضيات للصف الرابع الادبيالرياضيات للصف الرابع الادبي
الرياضيات للصف الرابع الادبي
Ayad Haris Beden
 
عرض العمليات الحسابية والمنطقية
عرض العمليات الحسابية والمنطقيةعرض العمليات الحسابية والمنطقية
عرض العمليات الحسابية والمنطقية
hessah_8s
 
مقرر معالجة البيانات
مقرر معالجة البياناتمقرر معالجة البيانات
مقرر معالجة البياناتangel1990girle
 
ARRAYS
ARRAYSARRAYS
ARRAYS
jdbc371632
 
درس أدوات الادخال و الاخراج- الصف الأول الثانوي
درس أدوات الادخال و الاخراج- الصف الأول الثانويدرس أدوات الادخال و الاخراج- الصف الأول الثانوي
درس أدوات الادخال و الاخراج- الصف الأول الثانوي
hifakhaldi
 
العمليات الحسابية
العمليات الحسابية العمليات الحسابية
العمليات الحسابية
abomayar
 

What's hot (19)

مذكرة الترم الثانى
مذكرة الترم الثانىمذكرة الترم الثانى
مذكرة الترم الثانى
 
ٍSource Entropy - binary symmetric channe - chapter one - two
ٍSource Entropy - binary symmetric channe - chapter one - twoٍSource Entropy - binary symmetric channe - chapter one - two
ٍSource Entropy - binary symmetric channe - chapter one - two
 
Computer school-books-3rd-preparatory-1st-term-khawagah-2019-6
Computer school-books-3rd-preparatory-1st-term-khawagah-2019-6Computer school-books-3rd-preparatory-1st-term-khawagah-2019-6
Computer school-books-3rd-preparatory-1st-term-khawagah-2019-6
 
c# المحاضره 4 @ 5 في
 c# المحاضره 4  @  5  في    c# المحاضره 4  @  5  في
c# المحاضره 4 @ 5 في
 
Shannon code & shannon fano & huffman method - chapter three
Shannon code  & shannon fano & huffman method  - chapter threeShannon code  & shannon fano & huffman method  - chapter three
Shannon code & shannon fano & huffman method - chapter three
 
Repatino code - hamming code (7,4) - chapter four
Repatino code - hamming code (7,4) - chapter fourRepatino code - hamming code (7,4) - chapter four
Repatino code - hamming code (7,4) - chapter four
 
الفصل الثانى
الفصل الثانىالفصل الثانى
الفصل الثانى
 
C++ syntax summary
C++ syntax summaryC++ syntax summary
C++ syntax summary
 
حلقات التكرار
حلقات التكرارحلقات التكرار
حلقات التكرار
 
اوراق العمل
اوراق العملاوراق العمل
اوراق العمل
 
مصفوفه
مصفوفهمصفوفه
مصفوفه
 
java input & output Statments
java input & output Statmentsjava input & output Statments
java input & output Statments
 
الرياضيات للصف الرابع الادبي
الرياضيات للصف الرابع الادبيالرياضيات للصف الرابع الادبي
الرياضيات للصف الرابع الادبي
 
عرض العمليات الحسابية والمنطقية
عرض العمليات الحسابية والمنطقيةعرض العمليات الحسابية والمنطقية
عرض العمليات الحسابية والمنطقية
 
Programming 1 full
Programming 1 fullProgramming 1 full
Programming 1 full
 
مقرر معالجة البيانات
مقرر معالجة البياناتمقرر معالجة البيانات
مقرر معالجة البيانات
 
ARRAYS
ARRAYSARRAYS
ARRAYS
 
درس أدوات الادخال و الاخراج- الصف الأول الثانوي
درس أدوات الادخال و الاخراج- الصف الأول الثانويدرس أدوات الادخال و الاخراج- الصف الأول الثانوي
درس أدوات الادخال و الاخراج- الصف الأول الثانوي
 
العمليات الحسابية
العمليات الحسابية العمليات الحسابية
العمليات الحسابية
 

Similar to 4- Arrays

6 arrays
6 arrays6 arrays
سلسلة تعلم البرمجة بلغة C / C++ - 2
سلسلة تعلم البرمجة بلغة  C / C++ - 2 سلسلة تعلم البرمجة بلغة  C / C++ - 2
سلسلة تعلم البرمجة بلغة C / C++ - 2
بندر المجلاد
 
Uml class diagram
Uml class diagramUml class diagram
Uml class diagram
Sally Jarkas
 
Java Generics
Java GenericsJava Generics
Java Generics
Hamid Ghorbani
 
Matlab 06-Data Types of MATLAB Programming and Applications
Matlab 06-Data Types of MATLAB Programming and ApplicationsMatlab 06-Data Types of MATLAB Programming and Applications
Matlab 06-Data Types of MATLAB Programming and Applications
Hemn Mela Karim Barznji
 
2 variables and constants
2 variables and constants2 variables and constants
2 variables and constants
Bint EL-maghrabi
 
Basic functions in Excel
Basic functions in ExcelBasic functions in Excel
Basic functions in Excel
ahmedshoman22
 
[C++ Tutorial] #8 Files
[C++ Tutorial] #8 Files[C++ Tutorial] #8 Files
[C++ Tutorial] #8 Files
Ghadeer AlHasan
 
Matlab 09 - Vectors in MATLAB Programming and Applications
Matlab 09 - Vectors in MATLAB Programming and ApplicationsMatlab 09 - Vectors in MATLAB Programming and Applications
Matlab 09 - Vectors in MATLAB Programming and Applications
Hemn Mela Karim Barznji
 
[C++ Tutorial ] #9 Classes
[C++ Tutorial ] #9 Classes[C++ Tutorial ] #9 Classes
[C++ Tutorial ] #9 Classes
Ghadeer AlHasan
 
scanf in c
 scanf in c scanf in c
scanf in c
zahraa F.Muhsen
 
الفصل الاول
الفصل الاولالفصل الاول
الفصل الاولHanaa
 
المصفوفات.pdf
المصفوفات.pdfالمصفوفات.pdf
المصفوفات.pdf
Epraam E. Samir
 
Uml sequence diagram
Uml sequence diagramUml sequence diagram
Uml sequence diagram
Sally Jarkas
 
Matlab 05- Complex Number, Measures of Central Tendency & IEEE 754 Standard
Matlab 05-  Complex Number, Measures  of Central Tendency & IEEE 754 StandardMatlab 05-  Complex Number, Measures  of Central Tendency & IEEE 754 Standard
Matlab 05- Complex Number, Measures of Central Tendency & IEEE 754 Standard
Hemn Mela Karim Barznji
 
Mastering Excel Basics: A Comprehensive Guide
Mastering Excel Basics: A Comprehensive GuideMastering Excel Basics: A Comprehensive Guide
Mastering Excel Basics: A Comprehensive Guide
devops24
 
عرض الدوائر الرقمية
عرض الدوائر الرقميةعرض الدوائر الرقمية
عرض الدوائر الرقمية
تقانة
 
مواضيع متقدمة في JavaScript
مواضيع متقدمة في JavaScriptمواضيع متقدمة في JavaScript
مواضيع متقدمة في JavaScript
Molham Al-Maleh
 
ف2
ف2ف2
ف2
teba
 
Variables المتغيرات في سي شارب
Variables المتغيرات في سي شارب Variables المتغيرات في سي شارب
Variables المتغيرات في سي شارب
nermine amin
 

Similar to 4- Arrays (20)

6 arrays
6 arrays6 arrays
6 arrays
 
سلسلة تعلم البرمجة بلغة C / C++ - 2
سلسلة تعلم البرمجة بلغة  C / C++ - 2 سلسلة تعلم البرمجة بلغة  C / C++ - 2
سلسلة تعلم البرمجة بلغة C / C++ - 2
 
Uml class diagram
Uml class diagramUml class diagram
Uml class diagram
 
Java Generics
Java GenericsJava Generics
Java Generics
 
Matlab 06-Data Types of MATLAB Programming and Applications
Matlab 06-Data Types of MATLAB Programming and ApplicationsMatlab 06-Data Types of MATLAB Programming and Applications
Matlab 06-Data Types of MATLAB Programming and Applications
 
2 variables and constants
2 variables and constants2 variables and constants
2 variables and constants
 
Basic functions in Excel
Basic functions in ExcelBasic functions in Excel
Basic functions in Excel
 
[C++ Tutorial] #8 Files
[C++ Tutorial] #8 Files[C++ Tutorial] #8 Files
[C++ Tutorial] #8 Files
 
Matlab 09 - Vectors in MATLAB Programming and Applications
Matlab 09 - Vectors in MATLAB Programming and ApplicationsMatlab 09 - Vectors in MATLAB Programming and Applications
Matlab 09 - Vectors in MATLAB Programming and Applications
 
[C++ Tutorial ] #9 Classes
[C++ Tutorial ] #9 Classes[C++ Tutorial ] #9 Classes
[C++ Tutorial ] #9 Classes
 
scanf in c
 scanf in c scanf in c
scanf in c
 
الفصل الاول
الفصل الاولالفصل الاول
الفصل الاول
 
المصفوفات.pdf
المصفوفات.pdfالمصفوفات.pdf
المصفوفات.pdf
 
Uml sequence diagram
Uml sequence diagramUml sequence diagram
Uml sequence diagram
 
Matlab 05- Complex Number, Measures of Central Tendency & IEEE 754 Standard
Matlab 05-  Complex Number, Measures  of Central Tendency & IEEE 754 StandardMatlab 05-  Complex Number, Measures  of Central Tendency & IEEE 754 Standard
Matlab 05- Complex Number, Measures of Central Tendency & IEEE 754 Standard
 
Mastering Excel Basics: A Comprehensive Guide
Mastering Excel Basics: A Comprehensive GuideMastering Excel Basics: A Comprehensive Guide
Mastering Excel Basics: A Comprehensive Guide
 
عرض الدوائر الرقمية
عرض الدوائر الرقميةعرض الدوائر الرقمية
عرض الدوائر الرقمية
 
مواضيع متقدمة في JavaScript
مواضيع متقدمة في JavaScriptمواضيع متقدمة في JavaScript
مواضيع متقدمة في JavaScript
 
ف2
ف2ف2
ف2
 
Variables المتغيرات في سي شارب
Variables المتغيرات في سي شارب Variables المتغيرات في سي شارب
Variables المتغيرات في سي شارب
 

More from Ghadeer AlHasan

[C++ Tutorial] #7- Linked List
[C++ Tutorial] #7- Linked List[C++ Tutorial] #7- Linked List
[C++ Tutorial] #7- Linked List
Ghadeer AlHasan
 
[Java] #8 String and Inner Class
[Java] #8 String and Inner Class[Java] #8 String and Inner Class
[Java] #8 String and Inner Class
Ghadeer AlHasan
 
[Java] #7 - Input & Output Stream
[Java] #7 - Input & Output Stream[Java] #7 - Input & Output Stream
[Java] #7 - Input & Output Stream
Ghadeer AlHasan
 
[C++] #5 - Structures
[C++] #5 - Structures[C++] #5 - Structures
[C++] #5 - Structures
Ghadeer AlHasan
 
#6- Arrays and Collections Framework
#6- Arrays and Collections Framework#6- Arrays and Collections Framework
#6- Arrays and Collections Framework
Ghadeer AlHasan
 
5- Overriding and Abstraction In Java
5- Overriding and Abstraction In Java5- Overriding and Abstraction In Java
5- Overriding and Abstraction In Java
Ghadeer AlHasan
 
4- Inheritance, Aggregation, Encapsulation and Overloading
4- Inheritance, Aggregation, Encapsulation and Overloading4- Inheritance, Aggregation, Encapsulation and Overloading
4- Inheritance, Aggregation, Encapsulation and Overloading
Ghadeer AlHasan
 
3- Operators in Java
3- Operators in Java3- Operators in Java
3- Operators in Java
Ghadeer AlHasan
 
2- Introduction to java II
2-  Introduction to java II2-  Introduction to java II
2- Introduction to java II
Ghadeer AlHasan
 
1- Introduction to java
1- Introduction to java1- Introduction to java
1- Introduction to java
Ghadeer AlHasan
 
0- Overview
0- Overview0- Overview
0- Overview
Ghadeer AlHasan
 
2- Control Structures
2-  Control Structures2-  Control Structures
2- Control Structures
Ghadeer AlHasan
 
#8 (Java Message Service)
#8 (Java Message Service)#8 (Java Message Service)
#8 (Java Message Service)
Ghadeer AlHasan
 
#7 (Java Message Service)
#7 (Java Message Service)#7 (Java Message Service)
#7 (Java Message Service)
Ghadeer AlHasan
 
#6 (RESTtful Web Wervices)
#6 (RESTtful Web Wervices)#6 (RESTtful Web Wervices)
#6 (RESTtful Web Wervices)
Ghadeer AlHasan
 
#5 (Remote Method Invocation)
#5 (Remote Method Invocation)#5 (Remote Method Invocation)
#5 (Remote Method Invocation)
Ghadeer AlHasan
 
#4 (Remote Method Invocation)
#4 (Remote Method Invocation)#4 (Remote Method Invocation)
#4 (Remote Method Invocation)
Ghadeer AlHasan
 
#3 (Multi Threads With TCP)
#3 (Multi Threads With TCP)#3 (Multi Threads With TCP)
#3 (Multi Threads With TCP)
Ghadeer AlHasan
 
#2 (UDP)
#2 (UDP)#2 (UDP)
#2 (UDP)
Ghadeer AlHasan
 
#1 (TCPvs. UDP)
#1 (TCPvs. UDP)#1 (TCPvs. UDP)
#1 (TCPvs. UDP)
Ghadeer AlHasan
 

More from Ghadeer AlHasan (20)

[C++ Tutorial] #7- Linked List
[C++ Tutorial] #7- Linked List[C++ Tutorial] #7- Linked List
[C++ Tutorial] #7- Linked List
 
[Java] #8 String and Inner Class
[Java] #8 String and Inner Class[Java] #8 String and Inner Class
[Java] #8 String and Inner Class
 
[Java] #7 - Input & Output Stream
[Java] #7 - Input & Output Stream[Java] #7 - Input & Output Stream
[Java] #7 - Input & Output Stream
 
[C++] #5 - Structures
[C++] #5 - Structures[C++] #5 - Structures
[C++] #5 - Structures
 
#6- Arrays and Collections Framework
#6- Arrays and Collections Framework#6- Arrays and Collections Framework
#6- Arrays and Collections Framework
 
5- Overriding and Abstraction In Java
5- Overriding and Abstraction In Java5- Overriding and Abstraction In Java
5- Overriding and Abstraction In Java
 
4- Inheritance, Aggregation, Encapsulation and Overloading
4- Inheritance, Aggregation, Encapsulation and Overloading4- Inheritance, Aggregation, Encapsulation and Overloading
4- Inheritance, Aggregation, Encapsulation and Overloading
 
3- Operators in Java
3- Operators in Java3- Operators in Java
3- Operators in Java
 
2- Introduction to java II
2-  Introduction to java II2-  Introduction to java II
2- Introduction to java II
 
1- Introduction to java
1- Introduction to java1- Introduction to java
1- Introduction to java
 
0- Overview
0- Overview0- Overview
0- Overview
 
2- Control Structures
2-  Control Structures2-  Control Structures
2- Control Structures
 
#8 (Java Message Service)
#8 (Java Message Service)#8 (Java Message Service)
#8 (Java Message Service)
 
#7 (Java Message Service)
#7 (Java Message Service)#7 (Java Message Service)
#7 (Java Message Service)
 
#6 (RESTtful Web Wervices)
#6 (RESTtful Web Wervices)#6 (RESTtful Web Wervices)
#6 (RESTtful Web Wervices)
 
#5 (Remote Method Invocation)
#5 (Remote Method Invocation)#5 (Remote Method Invocation)
#5 (Remote Method Invocation)
 
#4 (Remote Method Invocation)
#4 (Remote Method Invocation)#4 (Remote Method Invocation)
#4 (Remote Method Invocation)
 
#3 (Multi Threads With TCP)
#3 (Multi Threads With TCP)#3 (Multi Threads With TCP)
#3 (Multi Threads With TCP)
 
#2 (UDP)
#2 (UDP)#2 (UDP)
#2 (UDP)
 
#1 (TCPvs. UDP)
#1 (TCPvs. UDP)#1 (TCPvs. UDP)
#1 (TCPvs. UDP)
 

4- Arrays

  • 2. ‫املصفوفة‬:‫القيم‬ ‫من‬‫مجموعة‬ ‫لتخزين‬‫تستخدم‬ ‫معطيات‬ ‫بنية‬ ‫الذاكرة‬‫بخانات‬ ‫متسلسل‬ ‫بشكل‬‫القيم‬‫ن‬‫تخز‬ ‫عنها‬‫التصريح‬ ‫بعد‬‫مباشرة‬ ‫بشكل‬‫حجمها‬‫تغير‬‫يمكن‬‫ال‬ ‫حيث‬ ،‫البرنامج‬‫فترة‬ ‫طيلة‬ ‫ثابت‬ ‫حجم‬ ‫تأخذ‬ ‫باملصفوفة‬‫ن‬‫ستخز‬‫التي‬ ‫القيم‬ ‫هي‬ ‫ما‬ ‫ه‬‫ر‬‫بدو‬ ‫يحدد‬ ، ‫البيانات‬ ‫من‬ ‫واحد‬‫نمط‬ ‫لها‬‫مصفوفة‬ ‫كل‬ ‫الواحدة‬‫باملصفوفة‬‫نمط‬ ‫من‬‫أكثر‬‫تخزين‬‫يمكن‬‫ال‬ ‫تعريف‬ 2 Type Name[size]; ‫القوسين‬ ‫ضمن‬‫حجمها‬ ‫تحديد‬ ‫يتم‬ ‫حيث‬ ،‫عنها‬‫التصريح‬ ‫أثناء‬ ‫املصوفة‬ ‫حجم‬ ‫تحديد‬ ‫يجب‬ int a[10]; float b[15]; char name[100];
  • 3. ‫للمص‬ ‫ابتدائية‬ ‫قيم‬ ‫إعطاء‬ ‫يتم‬‫ف‬‫مس‬ ‫بشكل‬ ‫عنا‬‫التصريح‬ ‫بعد‬‫أو‬‫عنها‬‫التصريح‬ ‫أثناء‬ ،‫وفة‬‫ت‬‫قل‬ ‫ابتدائية‬ ‫بقيم‬ ‫املصفوفة‬ ‫تهيئة‬ 3 ‫دليلها‬‫خالل‬ ‫من‬‫املصفوفة‬ ‫لقيم‬‫ل‬‫الوصو‬ ‫يتم‬index ‫العنصر‬‫لقيمة‬ ‫للوصل‬‫املصفوفة‬‫قوسين‬ ‫بين‬ ‫الدليل‬ ‫وضع‬ ‫يتم‬ ‫حيث‬ ‫له‬ ‫المقابل‬ ‫الدليل‬ ‫العنصر‬ 0 ‫األول‬ 1 ‫الثاني‬ 2 ‫الثالث‬ 3 ‫الرابع‬ … ... Size - 1 ‫األخير‬
  • 4. ‫املص‬ ‫قيم‬‫إدخال‬‫ف‬‫وفة‬‫التنفيذ‬‫شاشة‬ ‫على‬‫قيمها‬ ‫وطباعة‬ ،‫املفاتيح‬ ‫لوحة‬ ‫من‬ ‫معها‬ ‫التعامل‬ ‫لتسهيل‬‫املصفوفات‬ ‫مع‬ ‫التعامل‬ ‫عند‬ ‫الحلقات‬‫استخدام‬ ‫يتم‬ ‫للمصفوفة‬ ‫كدليل‬ ‫الحلقة‬ ‫عداد‬‫نستخدم‬ ‫حيث‬ ‫باملصفوفات‬ ‫واإلخراج‬‫اإلدخال‬ 4
  • 6. ‫عناصر‬‫ثالثة‬ ‫من‬‫مصفوفة‬ ‫لدينا‬‫لنفرض‬a[3] ‫الدليل‬ ‫نحتاج‬ ،‫األخير‬‫للعنصر‬ ‫ل‬‫للوصو‬2(‫الحجم‬–1) ‫كتبنا‬‫لو‬ ‫ماذا‬a[3]‫؟؟؟‬‫العنصر‬‫قيمة‬ ‫هي‬ ‫ما‬ ، ‫املصفوفة‬‫لخارج‬‫ل‬‫الوصو‬ 6
  • 7. ‫واحدة‬‫بتعليمة‬‫النمط‬‫نفس‬ ‫من‬‫مصفوفات‬ ‫عدة‬ ‫عن‬‫التصريح‬‫يكمن‬ ‫مالحظات‬ 7 Int a[10], b[3] = {10, -1, -5}; ‫عنها‬‫التصريح‬ ‫عن‬ ‫املعطاة‬ ‫العناصر‬ ‫عدد‬ ‫من‬‫حجمها‬ ‫تحديد‬ ‫يتم‬ ،‫للمصفوفة‬ ‫حجم‬ ‫إعطاء‬‫عدم‬ ‫عند‬. Char name[] = {‘a’,’z’,’k’}; ‫مالحظة‬:‫التهيئة‬ ‫عند‬‫صفر‬‫قيمة‬ ‫بإعطاء‬ ‫قم‬ ،‫تكرار‬‫حلقة‬ ‫ن‬‫بدو‬‫صفر‬‫املصفوفة‬ ‫قيم‬‫جميع‬ ‫إعطاء‬ ‫دت‬‫ر‬‫أ‬‫حال‬ ‫في‬(‫ل‬‫ألو‬ ً ‫عمليا‬ ‫عنصر‬)‫صفر‬ ‫قيمة‬ ‫سيأخذ‬‫العناصر‬ ‫من‬ ‫تبقى‬ ‫وما‬( ً ‫الحقا‬‫ذكرنا‬‫كما‬) ‫من‬ ‫مكونة‬‫مصفوفة‬ ‫إعطاء‬‫حال‬ ‫في‬10‫عناصر‬ ‫سبعة‬‫أو‬‫عناصر‬ ‫لثمانية‬ ‫ابتدائية‬ ‫قيم‬ ،‫عناصر‬(‫حجمها‬ ‫من‬ ‫أقل‬)‫سيتم‬ ‫العناصر‬ ‫من‬ ‫تبقى‬ ‫ملا‬‫صفر‬ ‫قيمة‬ ‫إعطاء‬ ‫من‬ ‫مصوفة‬ ‫لدينا‬ ‫كان‬‫حال‬ ‫في‬4‫ل‬ ‫ابتدائية‬ ‫قيم‬ ‫وإعطاءه‬‫عنها‬‫التصريح‬ ‫وعند‬ ،‫عناصر‬7‫البرنام‬ ‫من‬ ‫خطأ‬ ‫مي‬‫ر‬ ‫سيتم‬‫عناصر‬‫ج‬
  • 10. ‫بشكل‬ ‫مصفوفة‬‫عناصر‬ ‫قيم‬ ‫لطباعة‬ ‫مثال‬Histogram 10
  • 12. ‫نرد‬‫حجر‬ ‫ات‬‫ر‬‫ظهو‬‫تواتر‬‫حساب‬ ‫توليد‬ ‫نريد‬6000‫بين‬‫قيمهم‬‫ة‬‫ر‬‫محصو‬ ‫عشوائي‬ ‫قم‬‫ر‬1‫و‬6 ‫الستة‬‫النرد‬ ‫وجه‬ ‫من‬ ‫وجه‬ ‫كل‬‫ر‬‫ظهو‬‫تكرار‬ ‫معرفة‬ ‫بعدها‬ ‫ونريد‬ ‫املصفوفات‬‫باستخدام‬ ‫وذلك‬ ‫الحل‬‫أفكار‬: ‫حلقة‬‫ضمن‬ ‫سنولد‬ ً ‫بداية‬6000‫عشوائي‬ ‫قم‬‫ر‬ ‫نرد‬‫حجر‬‫وجوه‬ ‫من‬ ‫وجه‬‫ر‬‫ظهو‬‫تكرار‬ ‫هي‬‫قيمها‬ ،‫عناصر‬ ‫ستة‬ ‫من‬ ‫مصوفة‬ ‫لدينا‬ ‫ن‬‫سيكو‬ ‫ه‬‫ر‬‫ظهو‬‫تكرار‬ ‫هي‬‫العنصر‬ ‫هذه‬‫وقيمة‬ ،‫ظهر‬‫الذي‬‫الوجه‬ ‫عن‬‫للتعبير‬‫املصفوفة‬ ‫دليل‬ ‫سنتسخدم‬ 12
  • 13. ‫نرد‬‫حجر‬ ‫ات‬‫ر‬‫ظهو‬‫تواتر‬‫حساب‬ ‫توليد‬ ‫نريد‬6000‫بين‬‫قيمهم‬‫ة‬‫ر‬‫محصو‬ ‫عشوائي‬ ‫قم‬‫ر‬1‫و‬6 ‫الستة‬‫النرد‬ ‫وجه‬ ‫من‬ ‫وجه‬ ‫كل‬‫ر‬‫ظهو‬‫تكرار‬ ‫معرفة‬ ‫بعدها‬ ‫ونريد‬ ‫املصفوفات‬‫باستخدام‬ ‫وذلك‬ 13
  • 14. ‫محرفية‬ ‫سلسلة‬‫في‬‫أحرف‬‫تواتر‬ ‫حساب‬ ‫كان‬ ‫إذا‬char‫واحد‬‫حرف‬ ‫لنا‬ ‫يمثل‬‫نمط‬ ‫من‬ ‫مصفوفة‬ ‫فأن‬ ،char‫ف‬‫ر‬‫محا‬‫سلسلة‬ ‫لنا‬‫تمثل‬ ‫سلسلة‬‫ضمن‬‫حرف‬ ‫كل‬‫ر‬‫ظهو‬‫تواتر‬‫حساب‬ ‫نريد‬ ‫فقط‬‫صغيرة‬‫أحرف‬ ‫على‬‫إال‬‫ي‬‫تحتو‬‫ال‬ ‫السلسلة‬ ‫أن‬ ‫العلم‬ ‫مع‬(‫املسألة‬ ‫لتسهيل‬) ‘a’ ‘d’ ‘e’ ‘a’ ‘f’ ‘f’ ‘a’ ‘j’ Char str[] ‫األحرف‬ ‫عدد‬‫عام‬ ‫بشكل‬26‫لتخزين‬‫مصفوفة‬‫يلزمنا‬،‫حرف‬26‫بالسلسلة‬ ‫ه‬‫ر‬‫ظهو‬‫متوقع‬‫حرف‬ ‫ألي‬‫تكرار‬ ‫حرف‬‫ترميز‬a‫ل‬‫جدو‬ ‫في‬ASCII‫هو‬97 ‫حرف‬‫ر‬‫ظهو‬ ‫عند‬b‫من‬‫سنطرحهه‬ ُ ‫مثال‬‘a’‫هو‬ ‫الناتج‬1‫التكرار‬‫بمصفوفة‬ ‫الدليل‬ ‫هذه‬‫ن‬‫سيكو‬، ‫حرف‬‫ر‬‫ظهو‬ ‫عند‬c‫من‬‫سنطرحه‬‘a’‫وهو‬‫دليله‬ ‫على‬‫لنحصل‬2 ‫الحرف‬ ‫دليل‬‫هو‬ ‫ما‬a‫الصفر‬‫هو‬ ‫؟؟‬ ‫على‬ ً ‫اعتمادا‬‫األبجدي‬‫تسلسلها‬‫ضمن‬‫التكرار‬‫مصفوفة‬‫ضمن‬‫األحرف‬ ‫وضعنا‬‫ن‬‫نكو‬‫بهذا‬ASCII 14
  • 15. ‫محرفية‬ ‫سلسلة‬‫في‬‫أحرف‬‫تواتر‬ ‫حساب‬ ‫الحرف‬ ‫يمثل‬ ‫والذي‬ ‫صفر‬ ‫الدليل‬ ‫أن‬ ‫يوضح‬ ‫التالي‬ ‫الشكل‬a‫هي‬‫قيمته‬3‫ظهر‬‫مرات‬ ‫ثالث‬‫يعني‬ ، ‫الدليل‬2‫الحرف‬ ‫يمثل‬ ‫والذي‬c‫هي‬ ‫قيمته‬2‫مرتين‬‫ظهر‬ ‫الحرف‬‫يعني‬ ‫األخير‬ ‫الدليل‬25‫الحرف‬ ‫يمثل‬ ‫والذي‬z‫قيمته‬3‫مرات‬ ‫ثالث‬‫ظهر‬‫يعني‬ ، 3 5 2 1 .. … 0 4 8 3 int freq[26] 0 1 2 3 25 15
  • 16. ‫محرفية‬ ‫سلسلة‬‫في‬‫أحرف‬‫تواتر‬ ‫حساب‬ Str[3] ‫السلسلة‬ ‫من‬ ‫الثالث‬ ‫الحرف‬ ‫أن‬‫لنفرض‬Str‫هو‬c‫هو‬ ‫سبق‬‫ما‬ ‫على‬ ً ‫بناءا‬‫التكرار‬‫بمصفوفة‬ ‫دليله‬2 ‫بزيادتها‬‫سأقوم‬ ‫كيف‬ ، ‫واحد‬ ‫هي‬‫تكرار‬ ‫قيمة‬ ‫أن‬‫يعني‬ ‫هذا‬ ، ‫سبق‬ ‫فيما‬ ‫واحدة‬‫مرة‬‫ظهر‬ ‫أنه‬‫سنفرض‬ Freq[ ] ++- ‘a’ Freq[2]++ 16
  • 18. ‫املحرفية‬ ‫السالسل‬ ‫النمط‬ ‫من‬ ‫مصفوفة‬ ‫عن‬‫ة‬‫ر‬‫عبا‬ ‫هي‬ ‫املحرفية‬ ‫السلسلة‬char ‫خانة‬ ‫في‬‫وضعه‬ ‫يتم‬‫حرف‬ ‫كل‬ ‫ي‬‫الصفر‬ ‫املحرف‬ ‫ن‬‫يكو‬ ‫سلسلة‬‫بأي‬‫محرف‬‫آخر‬‘0’‫املحرفية‬ ‫السلسلة‬ ‫لنهاية‬‫ليشير‬ ‫ي‬‫الصفر‬ ‫املحرف‬‫ملراعاة‬ ‫وذلك‬، ‫ما‬‫سلسلة‬ ‫حجم‬‫تحديد‬ ‫عن‬‫الحذر‬ ‫أخذ‬ ً ‫دوما‬‫يجب‬ ‫لذلك‬ ‘a’ ‘d’ ‘e’ ‘a’ ‘f’ ‘f’ ‘a’ ‘j’ ‘e’ ‘0’ Char str[10] ‫حجمها‬‫السابقة‬ ‫السلسلة‬10‫ي‬‫تحتو‬ ،9‫ي‬‫الصفر‬‫للمحرف‬ ‫حجزه‬‫تم‬‫األخير‬‫والعنصر‬‫عناصر‬ 18
  • 19. ‫املحرفية‬ ‫بالسالسل‬ ‫واإلخراج‬‫اإلدخال‬ ‫املصفوفة‬ ‫حجم‬‫باإلدخال‬‫ز‬‫تجاو‬‫حال‬ ‫في‬ ‫املصفوفة‬‫خارج‬ ‫القيم‬ ‫تكتب‬ ‫فقد‬ 19
  • 21. ‫الساكنة‬ ‫املصفوفات‬Static ‫الساكن‬‫ل‬‫املتحو‬(‫ستاتيكي‬)‫البرنامج‬ ‫تنفيذ‬‫ة‬‫فتر‬ ‫طيلة‬ ‫عليه‬ ‫تطرأ‬‫التي‬ ‫بالتغييرات‬‫يحتفظ‬‫الذي‬ ‫هو‬ ‫ساكنة‬ ‫أنها‬ ‫على‬‫مصفوفة‬ ‫عن‬‫التصريح‬‫يمكن‬ ‫حفظه‬ ‫سيتم‬‫آخر‬ ‫تابع‬‫أو‬‫نفسه‬ ‫التابع‬‫ضمن‬ ‫كان‬ ‫سواء‬‫عليها‬ ‫أ‬‫ر‬‫سيط‬‫تغيير‬ ‫أي‬ ‫ابتدائية‬ ‫بقيم‬‫تهيئتها‬ ‫ستم‬ ،‫ساكنة‬‫مصفوفة‬ ‫عن‬‫التصريح‬ ‫عند‬(‫ي‬ ‫افتراض‬ ‫بشكل‬)‫قيم‬ ‫إعطاءها‬ ‫عدم‬‫حال‬ ‫في‬ ‫االفتراضية‬ ‫القيمة‬ ‫النمط‬ ‫صفر‬ ‫العددية‬ ‫األنماط‬ False ‫البولياني‬ ‫النمط‬ ‫فراغ‬ ‫المحرفي‬ ‫النمط‬ 21
  • 23. ‫كوسطاء‬ ‫املصفوفات‬‫تمرير‬ ‫لتابع‬ ‫كوسيط‬‫املصفوفة‬‫تمرير‬‫يمكن‬ ‫باملرجعية‬‫املصفوفة‬‫تمرير‬ ‫يتم‬(‫بالقيمة‬ ‫وليس‬)‫األصلية‬ ‫النسخة‬ ‫على‬ ‫به‬‫التأثر‬ ‫يتم‬‫عليها‬ ‫تعديل‬ ‫أي‬ ، ‫قوسين‬‫النمط‬ ‫بعد‬‫ذكر‬‫يكفي‬ ،‫التابع‬‫نموذج‬‫تصريح‬ ‫في‬[ ]‫التابع‬ ‫نموذج‬ ‫في‬‫املصوفة‬ ‫اسم‬ ‫تجاهل‬ ‫،يتم‬ Void myfunction (int []); Void myfunction2 ( int a[]); // ignore ‫األقواس‬‫ذكر‬ ‫يتم‬ ‫ال‬ ،‫فقط‬ ‫باالسم‬‫املصفوفة‬ ‫اسم‬‫تمرير‬ ‫يتم‬ ، ‫التابع‬‫مناداة‬ ‫عند‬ ‫اسمها‬ ‫مع‬‫املصفوفة‬ ‫اسم‬‫ذكر‬ ‫يتم‬ ‫التابع‬ ‫جسم‬ ‫كتابة‬ ‫عند‬ Void print(int a[], int size){ for(int i = 0; i<size; i++) cout<<a[i]<<“ “; } 23
  • 25. ‫مالحظات‬ ‫بالذاكرة‬ ‫متتالية‬‫خانات‬‫تحجر‬‫املصفوفات‬‫تذكر‬ ‫للتابع‬ ‫باالسم‬‫املصفوفة‬‫ر‬‫نمر‬ ‫لذلك‬ ،‫بها‬‫عنصر‬ ‫ل‬‫أو‬ ‫على‬ ‫يدل‬‫املصفوفة‬ ‫اسم‬ ‫باملرجعية‬ ‫ر‬‫تمر‬‫فإنها‬ ‫لتابع‬‫املصفوفة‬‫تمرير‬ ‫عند‬ ‫بالقيمة‬ ‫ر‬‫يمر‬ ‫فأنه‬ ،‫فقط‬ ‫واحد‬‫عنصر‬‫تمرير‬ ‫عند‬ Int a[3] = {1,2,4}; Myfunction(a[2]); ‫مكان‬ ‫أي‬‫من‬ ‫له‬‫ل‬‫الوصو‬‫يمكن‬‫عام‬ ‫كثابت‬ ‫عنه‬‫تصريح‬‫أو‬ ،‫كوسيط‬ ‫الحجم‬‫تمرير‬‫يمكن‬ ،‫لتابع‬ ‫مصفوفة‬‫تمرير‬ ‫عند‬ ‫ثابت‬ ‫أنها‬ ‫على‬ ‫املصوفة‬‫تمرير‬ ‫عند‬const‫التابع‬‫جسم‬ ‫ضمن‬‫عليها‬ ‫تعديل‬ ‫أي‬‫إجراء‬ ‫يتم‬‫فال‬ Void print(const int []); 25
  • 26. ‫الثنائية‬ ‫املصفوفات‬ ‫تخزين‬ ‫بنية‬ ‫هي‬ ‫الثنائية‬‫املصفوفة‬ ‫وأعمدة‬‫أسطر‬‫تملك‬ ‫هي‬ ‫باألعمدة‬ ‫تمثل‬ ‫القيم‬ ‫من‬‫مجموعة‬ ‫على‬‫ي‬‫يحتو‬ ‫سطر‬ ‫كل‬ ‫سطر‬ ‫كل‬‫أجل‬‫من‬ ‫األعمدة‬ ‫على‬‫ر‬‫و‬‫للمر‬ ‫والثانية‬‫األسطر‬ ‫على‬‫ر‬‫و‬‫للمر‬‫حلقة‬ ،‫معها‬ ‫للتعامل‬ ‫لحلقتين‬‫نحتاج‬ 26
  • 28. ‫توضيحي‬‫مثال‬ I,J J=1 J=2 J=3 J=4 J=4 I=1 I=2 I=3 I=4 1 4 6 7 8 4 5 8 2 9 5 7 8 2 2 1 2 3 4 5 J=1 J=2 J=3 J=4 J=4J=1 J=2 J=3 J=4 J=4J=1 J=2 J=3 J=4 J=4 28
  • 29. ‫مالحظات‬ ‫واألعمدة‬‫األسطر‬ ‫حجم‬‫ذكر‬ ‫يجب‬ ، ‫ابتدائية‬ ‫قيم‬ ‫إعطاءها‬ ‫يتم‬ ‫ولم‬ ‫ثنائية‬‫مصفوفة‬ ‫عن‬‫التصريح‬ ‫عند‬ ‫الثاني‬ ‫البعد‬‫تمرير‬ ‫يجب‬ ‫تعريف‬‫أو‬‫نموذج‬ ‫سواء‬ ‫تابع‬ ‫عن‬‫التصريح‬ ‫عن‬(‫األعمدة‬)‫ل‬‫األو‬ ‫البعد‬‫ذكر‬‫يجب‬‫وال‬ ‫ل‬‫األو‬ ‫البعد‬ ‫عدا‬ ‫ما‬ ‫األبعاد‬‫جميع‬‫ذكر‬‫يجب‬ ، ‫ق‬‫فو‬ ‫وما‬‫الثالثية‬‫املصفوفات‬ ‫مع‬ ‫التعامل‬ ‫حال‬ ‫في‬ 29