المصفوفة أحادية البعد One Dimensional Array (2)
المصفوفات متعددة الاستخدامات بشكل لا يصدق، ويمكنك إجراء عمليات مختلفة عليها، مثل نسخ القيم الأولية لمصفوفة موجودة إلى مصفوفة أخرى.
بالطبع لا يمكننا استخدام السطر التالي:
arr2 = arr1;
لأننا لا نخصص قيمة واحدة. تحتوي كل مصفوفة على مجموعة من القيم، لذلك إذا أردنا تعيين قيمة واحدة في مصفوفة، فيجب علينا تحديد موقعها:
arr2[0] = arr1[0];
ولكن ماذا لو أردنا تعيين جميع قيم المصفوفة إلى مصفوفة أخرى؟
مثال 1:
#include <iostream> using namespace std; int main() { const int s = 4; int arr1[s] = { 10,20,30,40 }; int arr2[s]; for (size_t i = 0; i <= s-1; i++) { arr2[i] = arr1[i]; } for (size_t i = 0; i < s; i++) { cout << arr2[i] << " "; } cout << endl; return 0; }
يقوم هذا الكود بتهيئة المصفوفة arr1 بالقيم، ثم ينسخ محتويات arr1 إلى مصفوفة أخرى arr2. وأخيرا، فإنه يطبع عناصر arr2. يوضح هذا كيفية نسخ محتويات مصفوفة إلى أخرى في لغة C++.
المخرجات:
10 20 30 40
مثال 2:
#include <iostream> using namespace std; int main() { const int s = 5; int arr[s] = { 100,200,200,500,0 }; int sum = 0; for (size_t i = 0; i < s; i++) { //sum += arr[i]; sum = sum + arr[i]; } cout << "sum = " << sum << endl; return 0; }
يحسب هذا الكود مجموع العناصر الموجودة في مجموعة الأعداد الصحيحة ثم يطبع النتيجة على شاشة المخرجات. يوضح كيفية استخدام حلقة للتكرار عبر مصفوفة وتجميع القيم.
المخرجات:
sum = 1000
مثال 3:
#include <iostream> using namespace std; int main() { const int s = 5; int arr[s] = { 100,200,200,500,100 }; long long d = 1; for (size_t i = 0; i < s; i++) { d *= arr[i]; } cout << "multi = " << d << endl; return 0; }
- long long d = 1; :يقوم هذا السطر بتهيئة متغير صحيح long long من d إلى 1. سيتم استخدام هذا المتغير لتجميع ناتج العناصر الموجودة في المصفوفة.
- long long هو نوع بيانات في C++ يمثل عددًا صحيحًا 64 بت. إنه مصمم لتخزين قيم عددية كبيرة جدًا. يمكنه الاحتفاظ بنطاق أوسع من القيم مقارنةً بالأعداد الصحيحة العادية أو الأعداد الصحيحة الطويلة.
- لذلك، العبارة long long d = 1؛ تعلن عن متغير اسمه d بنوع بيانات long long ويقوم بتهيئته بالقيمة 1. ويمكن بعد ذلك استخدام هذا المتغير لتخزين ومعالجة القيم الصحيحة الكبيرة في برنامجك.
باختصار، يحسب هذا الكود حاصل ضرب العناصر الموجودة في مصفوفة الأعداد الصحيحة ثم يطبع النتيجة على وحدة التحكم. يوضح كيفية استخدام حلقة للتكرار عبر مصفوفة وتجميع منتج عناصرها.
المخرجات:
multi = 200000000000
مثال 4:
#include <iostream> using namespace std; int main() { const int s = 5; int arr[s] = { 100,200,200,501,101 }; int sumEven, sumOdd = 0; for (size_t i = 0; i < s; i++) { if (arr[i] % 2 == 0) sumEven += arr[i]; else sumOdd += arr[i]; } cout << "Sum of even numbers = " << sumEven << endl; cout << "Sum of odd numbers = " << sumOdd << endl; return 0; }
يحسب هذا الكود مجموع الأرقام الزوجية والفردية بشكل منفصل في مصفوفة الأعداد الصحيحة ثم يطبع النتائج على شاشة المخرجات.
المخرجات:
Sum of even numbers = 500 Sum of odd numbers = 602
مثال 5:
#include <iostream> using namespace std; int main() { const int s = 6; int marks[s] = { 100,99,98,88,70,90 }; int sum = 0; for (size_t i = 0; i < s; i++) { sum += marks[i]; } cout << "Average = " << sum / s << endl; return 0; }
يحسب هذا الكود متوسط العلامات المخزنة في علامات مصفوفة الأعداد الصحيحة ثم يطبع المتوسط إلى شاشة المخرجات.
المخرجات:
Average = 90
مثال 6:
#include <iostream> using namespace std; int main() { const int s = 6; int arr[s] = { 22,100,95,101,200,90 }; int max = 0; for (size_t i = 0; i < s; i++) { if (arr[i] > max) max = arr[i]; } cout << "Maximum number = " << max << endl; return 0; }
يعثر هذا الكود على الحد الأقصى للقيمة بين الأرقام المخزنة في مجموعة الأعداد الصحيحة ثم يطبع القيمة القصوى إلى شاشة المخرجات.
المخرجات:
Maximum number = 200
مثال 7:
#include <iostream> using namespace std; int main() { int vector[5]; cout << "Enter 5 numbers: "; for (int i = 0; i < 5; i++) cin >> vector[i]; cout << endl; int Element; cout << "What is the element you are looking for? "; cin >> Element; bool Found = false; int i; for (i = 0; i < 5; i++) if (Element == vector[i]) { Found = true; break; } cout << endl; if (Found) cout << Element << " found at position " << i << endl; else cout << Element << " is not in this array!" << endl; return 0; }
في كود C++ هذا، أنت تأخذ مدخلات المستخدم لملء مصفوفة أعداد صحيحة "vector" بالحجم 5 ثم تبحث عن عنصر محدد داخل المصفوفة. دعونا نحلل الكود خطوة بخطوة:
- int vector[5];
- يعلن هذا السطر عن مصفوفة أعداد صحيحة "vector" بحجم 5، والتي يمكنها تخزين ما يصل إلى خمس قيم صحيحة. - Input Loop to Populate the Array:
- يطلب الكود من المستخدم إدخال خمسة أرقام ويخزنها في المصفوفة "vector" باستخدام حلقة "for" التي تتكرر خمس مرات. يتم تعيين كل إدخال إلى عنصر مختلف من المصفوفة. - int Element;
- يعلن هذا السطر عن متغير صحيح "Element"، والذي سيخزن القيمة التي يبحث عنها المستخدم. - Prompt for the Element to Search:
- يطلب الكود من المستخدم إدخال العنصر الذي يريد البحث عنه. - Search Loop:
– يتم استخدام حلقة `for` للبحث عن العنصر داخل المصفوفة. إذا تم العثور على العنصر، تنقطع الحلقة، ويتم تعيين علامة "Found" على "true". المتغير `i` يتتبع الموضع الذي تم العثور على العنصر فيه. - Output the Result:
- يتحقق الكود بعد ذلك من العثور على العنصر (على سبيل المثال، "Found" هو "true"). إذا تم العثور عليه، فإنه يعرض العنصر وموضعه في المصفوفة. إذا لم يتم العثور عليه، فإنه يعلم المستخدم أن العنصر غير موجود في المصفوفة.
باختصار، يسمح هذا الكود للمستخدم بإدخال خمسة أرقام في مصفوفة ثم البحث عن عنصر معين داخل المصفوفة. ويقدم ملاحظات حول ما إذا كان قد تم العثور على العنصر وموضعه في المصفوفة.