الصفيف السلبي متساوي البعد ، المعروف باسم صفيف باسكال ، هو أحد الأدوات الرئيسية في البرمجة والرياضيات. تستخدم هذه المصفوفة لتمثيل مثلث باسكال ، والذي يحتوي على العديد من الخصائص والتطبيقات المفيدة. في بعض الأحيان يصبح من الضروري إضافة عنصر جديد إلى مصفوفة باسكال من أجل توسيعه أو تغيير قيم العناصر الموجودة. في هذه المقالة ، سوف نقدم خطوات وأمثلة بسيطة حول كيفية إدراج عنصر في مصفوفة باسكال.
قبل أن نبدأ ، دعونا نتذكر القواعد الأساسية لمجموعة باسكال. توجد وحدة في بداية ونهاية كل صف من المصفوفة. يتم الحصول على كل عنصر داخل الصف بإضافة عنصرين فوقه — العنصر الموجود على اليسار والعنصر الموجود أعلى اليسار. على سبيل المثال ، للعثور على قيمة عنصر في الصف الخامس والعمود الثاني ، تحتاج إلى إضافة العناصر الموجودة في الصف الرابع في العمود الأول والثاني. تتكون مصفوفة باسكال دائما من أعداد طبيعية.
الآن بعد أن فهمنا القواعد الأساسية لمصفوفة باسكال ، دعونا نلقي نظرة على بعض الأمثلة حول كيفية إدراج عنصر في هذه المصفوفة. يتطلب إدراج عنصر في مصفوفة باسكال تغيير ليس فقط الصف الذي يحدث فيه الإدراج ، ولكن أيضا جميع الصفوف اللاحقة أعلاه لمراعاة التغيير في قيم العناصر. في المثال الذي سننظر إليه ، سنقوم بإدراج الرقم 5 في الصف الرابع من مصفوفة باسكال وتحديث جميع الصفوف اللاحقة.
- كيفية إدراج عنصر في مصفوفة باسكال
- الخطوة 1. تحديد موضع إدراج العنصر
- الخطوة 2. إنشاء مجموعة جديدة مع زيادة حجم
- الخطوة 3. انسخ العناصر إلى الموضع في المصفوفة الجديدة
- الخطوة 4. أدخل العنصر في الموضع المحدد
- الخطوة 5. انسخ العناصر المتبقية من المصفوفة الأصلية
- الخطوة 6. استخدم المصفوفة الجديدة بدلا من المصفوفة الأصلية
- مثال 1. إدراج عنصر في بداية مصفوفة باسكال
- مثال 2. إدخال عنصر في منتصف مصفوفة باسكال
- سؤال وجواب
- كيف يمكنني زيادة حجم مجموعة باسكال من قبل 1?
- هل من الممكن إدراج عنصر في مكان تعسفي في مصفوفة باسكال?
كيفية إدراج عنصر في مصفوفة باسكال
صفيف باسكال هو مثلث عددي يتم فيه الحصول على كل عنصر بإضافة عنصرين أعلى. العناصر الأولى والأخيرة من كل صف تساوي واحد.
تتم إضافة عنصر جديد إلى مصفوفة باسكال عن طريق حساب مجموع عنصرين متجاورين. تتم كتابة النتيجة إلى مصفوفة جديدة ، لتحل محل أحد الخطوط الموجودة في المثلث. يصبح العنصر المضاف هو العنصر الأخير في هذا الصف.
لنلق نظرة على مثال لإضافة عنصر خطوة بخطوة إلى مصفوفة باسكال:
- نبدأ مع السطر الأول ، والذي يتكون من واحد فقط:
- لإضافة الصف الثاني إلى الأول ، أضف عناصر الصف الأول (1 + 1) وأضف واحدا إليها على اليمين:
- وبالمثل ، لإضافة صف ثالث إلى الثاني ، تحتاج إلى إضافة عناصر الصف الثاني (1+2 ، 2 + 1) وإضافة وحدات إليها على اليمين واليسار:
- وهكذا ، يتم الحصول على كل صف تالي من الصف السابق عن طريق إضافة عناصر متجاورة وإضافة واحد إلى اليمين واليسار.
مثال على مصفوفة باسكال الناتجة مع خمسة صفوف:
| 1 | ||||
| 1 | 1 | |||
| 1 | 2 | 1 | ||
| 1 | 3 | 3 | 1 | |
| 1 | 4 | 6 | 4 | 1 |
لإضافة عنصر جديد إلى مصفوفة باسكال موجودة ، اتبع الخطوات أعلاه والصق النتيجة في الصف المطلوب من المصفوفة.
الخطوة 1. تحديد موضع إدراج العنصر
قبل إدراج عنصر في مصفوفة باسكال ، تحتاج إلى تحديد الموضع الذي تريد إدراج هذا العنصر فيه. يتم حساب الموضع في المصفوفة من الصفر. هذا يعني أن العنصر الأول من المصفوفة له الموضع 0 ، والثاني له الموضع 1 ، وهكذا.
لتحديد موضع إدراج عنصر في مصفوفة باسكال ، يمكنك استخدام عدة طرق:
- الفهرس هو رقم يشير إلى موضع عنصر في المصفوفة. إذا كنت تعرف الموضع الذي تريد إدراج العنصر فيه ، فيمكنك استخدام هذا الفهرس. على سبيل المثال ، إذا كنت تريد إدراج عنصر في الموضع 2 ، فاستخدم قيمة الفهرس 2 عند الإدراج.
- إذا كنت تعرف قيمة عنصر مجاور ، يمكنك تحديد موضع إدراج العنصر بناء على هذه القيمة. على سبيل المثال ، إذا كان العنصر المجاور له قيمة 5 والعنصر التالي له قيمة 7 ، فيمكنك إدراج عنصر جديد بينهما.
- إذا كنت لا تعرف الفهرس أو قيم العناصر المجاورة ، فيمكنك استخدام عنصر البحث في المصفوفة. ابحث عن أقرب عنصر يمكنك مقارنة العنصر الجديد به وتحديد موضعه بالنسبة للعنصر الموجود.
اختر أحد هذه الأساليب لتحديد موضع الإدراج لعنصر في مصفوفة باسكال.
الخطوة 2. إنشاء مجموعة جديدة مع زيادة حجم
لإدراج عنصر في مصفوفة باسكال ، تحتاج إلى إنشاء مصفوفة جديدة بحجم أكبر. ستكون هناك مساحة إضافية في المصفوفة الجديدة للعنصر الجديد ، وسيتم نقل جميع العناصر الأخرى إلى موضع واحد إلى اليمين.
فيما يلي الخطوات التي تحتاج إلى اتباعها لإنشاء مصفوفة جديدة:
- تحديد الحجم الجديد للمصفوفة. لإدراج عنصر واحد في مصفوفة باسكال ، يكفي زيادة حجمه بمقدار 1.
- قم بإنشاء مصفوفة جديدة بحجم جديد. سيكون هناك مساحة في المصفوفة الجديدة للعنصر الجديد والعناصر المنقولة من المصفوفة القديمة.
- انسخ جميع العناصر من المصفوفة القديمة إلى المصفوفة الجديدة. عند النسخ ، ستنتقل العناصر إلى موضع واحد إلى اليمين.
على سبيل المثال ، إذا كان لديك مصفوفة باسكال مع العناصر التالية: [1, 4, 6, 4, 1], وتريد إدراج العنصر " 3 "في الموضع "2" ، تحتاج إلى اتباع هذه الخطوات:
- قم بزيادة حجم المصفوفة بمقدار 1: 5 + 1 = 6.
- إنشاء مصفوفة جديدة بحجم جديد: [0, 0, 0, 0, 0, 0].
- انسخ جميع العناصر من المصفوفة القديمة إلى المصفوفة الجديدة: [1, 4, 6, 4, 1] -> [0, 0, 1, 4, 6, 4, 1].
- أدخل عنصرا جديدا: [0, 0, 1, 4, 6, 4, 1] -> [0, 0, 1, 4, 3, 6, 4, 1].
بعد الانتهاء من جميع الخطوات ، ستتلقى مصفوفة باسكال جديدة مع العنصر المدرج.
الخطوة 3. انسخ العناصر إلى الموضع في المصفوفة الجديدة
بعد تحديد موضع الإدراج لعنصر جديد في مصفوفة باسكال ، فإن الخطوة التالية هي نسخ العناصر إلى هذا الموضع في المصفوفة الجديدة. يعد ذلك ضروريا لإفساح المجال لعنصر جديد والحفاظ على ترتيب العناصر في المصفوفة.
من أجل نسخ العناصر إلى موضع في مصفوفة جديدة ، يمكننا استخدام وظيفة الشريحة() في جافا سكريبت. تتيح لك هذه الوظيفة إنشاء مصفوفة جديدة تحتوي على عناصر المصفوفة الأصلية ، بدءا من الفهرس المحدد.
يوجد أدناه نموذج رمز يوضح كيفية نسخ العناصر إلى موضع في مصفوفة جديدة:
// مصفوفة مصدر باسكال
كونست باسكالاراي = [1, 3, 3, 1];
// موضع إدخال عنصر جديد
موقف كونست = 2;
// إنشاء مصفوفة جديدة تحتوي على عناصر تصل إلى موضع الإدراج
كونست نيوراي = باسكالاراي.شريحة (0 ، موقف);
وحدة التحكم.سجل (نيوراي) ؛ / / المخرجات: [1 ، 3]
في هذا المثال ، أنشأنا مجموعة نيوراي جديدة باستخدام شريحة () وظيفة لنسخ عناصر مجموعة باسكالاراي الأصلي إلى موقف (2 في هذه الحالة). والنتيجة هي مجموعة جديدة تحتوي على العناصر [1 ، 3].
الآن لدينا نسخة من العناصر حتى موضع الإدراج للعنصر الجديد ، ويمكننا المتابعة إلى الخطوة التالية-إدخال عنصر جديد في المصفوفة.
الخطوة 4. أدخل العنصر في الموضع المحدد
بعد إنشاء موضع جديد لعنصر في مصفوفة باسكال ، من الضروري إدخال العنصر نفسه في المكان المحدد. ستساعدك الخطوات التالية على إكمال هذا الإجراء:
- ابحث عن الموضع الذي تريد إدراج العنصر فيه. يمكن أن يكون فهرس أو رقم ترتيبي في صفيف.
- إنشاء متغير للعنصر الجديد وتعيين القيمة المطلوبة.
- قم بإنشاء مصفوفة مؤقتة وانسخ القيم من المصفوفة الأصلية إلى الموضع المحدد فيها. سيحتوي الصفيف المؤقت على جميع العناصر الموجودة أمام الموضع الذي تريد إدراج عنصر جديد فيه.
- أضف عنصرا جديدا إلى المصفوفة المؤقتة.
- انسخ العناصر المتبقية من المصفوفة الأصلية ، بدءا من الموضع المحدد ، إلى مصفوفة مؤقتة. الآن سيكون هناك عنصر آخر في صفيف باسكال ، ويتم إزاحة جميع العناصر بعد الموضع المحدد.
- قم بتعيين قيمة صفيف مؤقت إلى صفيف المصدر.
مثال على إدراج عنصر في مصفوفة باسكال:
برنامج باسكال_عنصر;
الاستخدامات
SysUtils;
var
PascalArray: array[1..5] of Integer;
i, Position, NewElement: Integer;
TempArray: array[1..6] of Integer;
begin
PascalArray[1] := 1;
PascalArray[2] := 4;
PascalArray[3] := 6;
PascalArray[4] := 9;
PascalArray[5] := 12;
Position := 3; // вставляем элемент на позицию 3
NewElement := 8; // элемент для вставки
for i := 1 to Position - 1 do
TempArray[i] := PascalArray[i];
TempArray[Position] := NewElement;
for i := Position to Length(PascalArray) do
TempArray[i + 1] := PascalArray[i];
PascalArray := TempArray;
for i := 1 إلى طول (باسكالاراي) هل
وريتلن (باسكالاراي [أنا]);
ريدلن;
النهاية.
في هذا المثال ، يتم إدراج عنصر بقيمة 8 في مصفوفة باسكال في الموضع 3. بعد تنفيذ البرنامج ، ستكون عناصر مصفوفة الإخراج مساوية لـ:
1
4
8
6
9
12
وبالتالي ، تم إدخال العنصر بنجاح في الموضع المحدد لمصفوفة باسكال.
الخطوة 5. انسخ العناصر المتبقية من المصفوفة الأصلية
بعد إدراج عنصر جديد في مصفوفة باسكال ، تحتاج إلى نسخ جميع العناصر المتبقية من المصفوفة الأصلية وإضافتها إلى المصفوفة الجديدة. للقيام بذلك ، يمكننا استخدام حلقة تتكرر من خلال عناصر المصفوفة الأصلية ، بدءا من العنصر التالي بعد العنصر المدرج.
يوجد أدناه مثال على الكود الذي ينفذ هذه العملية:
الإجراء ريكريماينينغليمنتس(فار باسكالاراي: مجموعة من عدد صحيح ؛ فار نيوراي: مجموعة من عدد صحيح ؛ مؤشر: عدد صحيح);
فار
أنا: عدد صحيح;
بيغن
// التكرار على عناصر المصفوفة الأصلية ، بدءا من العنصر التالي للعنصر المدرج
إلى عن على أنا: = فهرس + 1 إلى الطول (باسكالاراي) - 1 فعل
بيغن
// نسخ العناصر إلى مصفوفة جديدة
نيواراي [أنا] := باسكالاراي [أنا];
النهاية;
النهاية;
، للتكرار فوق عناصر المصفوفة الأصلية ، بدءا من العنصر التالي للعنصر المدرج. في كل تكرار للحلقة ، نقوم بنسخ عنصر من المصفوفة الأصلية إلى مصفوفة جديدة.
بعد تنفيذ هذا الإجراء ، ستحتوي المصفوفة الجديدة على جميع عناصر باسكال ، بما في ذلك العنصر المدرج.
الخطوة 6. استخدم المصفوفة الجديدة بدلا من المصفوفة الأصلية
بعد إدراج عنصر في مصفوفة باسكال ، يمكنك استخدام المصفوفة الجديدة بدلا من المصفوفة الأصلية لمزيد من العمليات الحسابية أو عرض البيانات.
إلى عن على (كثافة العمليات أنا = 0 ؛ أنا < ن ؛ أنا i) {
- إلى عن على (كثافة العمليات ي = 0 ؛ ي < باسكالاراي[أنا].طول ؛ ي++) {
روسوم [أنا] + = باسكالاراي [أنا] [ي];
}
}
يتيح لك استخدام مصفوفة باسكال الجديدة العمل مع البيانات بشكل أكثر مرونة وتنفيذ إجراءات مختلفة باستخدام عناصر المصفوفة.
مثال 1. إدراج عنصر في بداية مصفوفة باسكال
لإدراج عنصر في بداية مصفوفة باسكال ، نحتاج إلى الخطوات التالية:
قم بإنشاء مصفوفة جديدة سنقوم بإدراج العنصر فيها.
أضف عنصرا جديدا إلى بداية مصفوفة جديدة.
انسخ جميع العناصر من المصفوفة الأصلية إلى المصفوفة الجديدة بدءا من الموضع 1.
مثال على الكود:
"باسكال
فار
باسكالاراي: صفيف [0..9] من عدد صحيح ؛ / / مجموعة المصدر
نيوراي: صفيف [0..10] من عدد صحيح ؛ / / مجموعة جديدة
- العنصر: عدد صحيح ؛ / / عنصر جديد
- بيغن
- العنصر: = 99 ؛ / / مثال على قيمة العنصر الجديد
نيوراي [0]: = عنصر; // إضافة عنصر إلى بداية مصفوفة جديدة
لأني: = 1 إلى الطول (باسكالاراي) تبدأ
نيوراي [أنا]: = باسكالاراي [أنا -1] ؛ / / نسخ العناصر من المصفوفة الأصلية
النهاية;
| باسكالاراي: = نيوراي ؛ / / تصبح المصفوفة الجديدة هي الأصلية | النهاية. | «` | نتيجة لتنفيذ التعليمات البرمجية ، سيتم إدراج العنصر بنجاح في بداية مصفوفة باسكال. |
|---|---|---|---|
| مثال 2. إدخال عنصر في منتصف مصفوفة باسكال | لنلق نظرة على مثال لإدخال عنصر في منتصف مصفوفة باسكال. للقيام بذلك ، سوف نستخدم خوارزمية تعتمد على طريقة التوافقية. | 1. إنشاء مصفوفة فارغة ثنائية الأبعاد من الحجم ن س ن ، أين ن هو عدد صفوف مصفوفة باسكال. | 2. املأ مصفوفة باسكال باستخدام الطريقة التوافقية: |
| دعونا تعيين العنصر الأول من مجموعة إلى 1. | لكل صف من الثاني إلى الأخير ، اضبط العنصرين الأول والأخير على 1. | لكل عنصر من عناصر المصفوفة ، باستثناء الأول والأخير ، احسب القيمة الجديدة كمجموع عنصرين متجاورين في الصف السابق. | 3. دعونا نحدد فهارس العناصر الوسطى من مصفوفة باسكال. لمجموعة من الحجم ن س ن ، سيكون العنصر الأوسط في الصف ن / / 2 والعمود ن // 2 ، حيث / / هي عملية قسمة عدد صحيح. |
| 4. احفظ قيمة العنصر الأوسط في المتغير المتوسط. | 5. أدخل عنصرا جديدا في منتصف مصفوفة باسكال ، واضبط القيمة المتوسطة على الموضع باستخدام الفهارس ن / / 2 و ن / / 2. | 6. لتصور مصفوفة باسكال ، استخدم الجدول: | 0 |
| 1 | 2 | 3 | 1 |
0
| 0 | 0 | 1 | 1 |
|---|---|---|---|
| 0 | 0 | 1 | 2 |
| 1 | 0 | 1 | 3 |
| 3 | 1 | 7. النتيجة: | 0 |
| 1 | 2 | 3 | 1 |
0
0
0
1
1
0