ملء المصفوفة يعني. باسكال

بيت / التقنيات

يشرح الدرس كيفية التعامل مع المصفوفات أحادية البعد في لغة باسكال، وكيفية استخدام مولد الأرقام العشوائية - الوظيفة عشوائيفي باسكال. يعتبر مثال لكيفية استخلاص أرقام فيبوناتشي.


تهدف المواد الموجودة على الموقع إلى الإتقان العملي للغة البرمجة باسكال. لا تدعي المعلومات النظرية الموجزة أنها تغطية كاملة للمادة المتعلقة بالموضوع؛ يمكن العثور على المعلومات الضرورية على الإنترنت على كميات كبيرة. تشمل مهامنا توفير الفرصة لاكتساب مهارات البرمجة العملية في لغة باسكال. يتم عرض الأمثلة والمهام المرئية التي تم حلها بترتيب التعقيد المتزايد، مما يجعل من السهل دراسة المادة من الصفر.

إعلان المصفوفة

هناك نوعان من المصفوفات في باسكال: أحادية البعد وثنائية الأبعاد.
تعريف مصفوفة أحادية البعد في باسكاليبدو مثل هذا: المصفوفة أحادية البعد هي عدد معين من العناصر التي تنتمي إلى نفس نوع البيانات، والتي لها نفس الاسم، وكل عنصر له فهرس خاص به - رقم تسلسلي.
وصف المصفوفة في باسكال (الإعلان) والوصول إلى عناصرها هو كما يلي:

إعلان المصفوفة

طول فار: المصفوفة [ 1 .. 3 ] من عدد صحيح ؛

طول البداية[ 1 ] : = 500 ؛

  • دلينا[ 2 ] : = 400 ;
  • دلينا[ 3 ] : = 150 ;
  • ... طول فار: مجموعة من الأعداد الصحيحة؛ طول البداية: = 500؛ الطول: = 400؛ الطول: = 150؛ ...
  • DLina - معرف الصفيف (الاسم)؛
  • بالنسبة للإعلان، يتم استخدام كلمة الخدمة Array (مترجمة من الإنجليزية إلى "array" أو "set")؛ - يتم وضع رقم (فهرس) العنصر الأول بين قوسين مربعين، ثم نقطتين وفهرس العنصر الأخير في المصفوفة، أي: في جوهرها، يشار إلى عدد العناصر؛ يسمى عدد العناصر في المصفوفة

    البعد المصفوفة

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

    وبالإضافة إلى ذلك، يمكن أن يكون المصفوفة نفسها

    ثابت

    ، أي. جميع عناصره في البرنامج محددة سلفا.

    يبدو وصف هذه المصفوفة كما يلي:

    const a: المصفوفة [ 1 .. 4 ] من عدد صحيح = (1 , 3 , 2 , 5 ) ;

    const a:صفيف عدد صحيح = (1، 3، 2، 5)؛تعبئة الأعداد المتتابعة:

    writeln("أدخل عدد العناصر:"); readln(n); (إذا كانت الكمية غير معروفة مسبقًا نطلبها) for i:= 1 to n do begin write("a[", i, "]=");


    قراءة(أ[i]);

    ...نهاية؛ ...

    ✍ مثال للنتيجة:

    const a:صفيف عدد صحيح = (1، 3، 2، 5)؛أدخل عدد العناصر: 3 أ=5 أ=7 أ=4

    1 2 3 4 5 6 7 8 9 10 11 12 13 طباعة عناصر المصفوفة دعونا نلقي نظرة على كيفية عرض مصفوفة في باسكال: var a: مصفوفة [ 1 .. 5 ] من عدد صحيح ؛ (مجموعة من خمسة عناصر)ط:عدد صحيح؛

    ابدأ ب[ 1 ] : = 2 ;

    قراءة(أ[i]);

    أ[2] : = 4 ؛

    أ[3] : = 8 ؛

    أ[4] : = 6 ؛أ[5] : = 3 ؛ 6 writeln("الصفيف أ:");


    for i : = 1 to 5 أكتب (a[i] : 2 ) ؛

    (إخراج عناصر المصفوفة)

    نهاية.

    var a: مجموعة من الأعداد الصحيحة؛ (مجموعة من خمسة عناصر) ط: عدد صحيح؛ ابدأ ب:=2; أ:=4; أ:=8; أ:=6; أ:=3; writeln("الصفيف أ:"); لأني:= 1 إلى 5 اكتب(a[i]:2); (عناصر صفيف الإخراج) النهاية.

    المصفوفة أ: 2 4 8 6 3

    قراءة(أ[i]);

    9 8 9 2 0 3 6 9 5 0

    للعمل مع المصفوفات، يتم استخدامه غالبًا في باسكال مع معلمة، نظرًا لأنك تعرف عادةً عدد العناصر الموجودة في المصفوفة، ويمكنك استخدام عداد الحلقة كمؤشرات للعناصر. مهمة المصفوفة 0يجب عليك تحديد مجموعة حقيقية من الأبعاد(أي ستة عناصر)؛ املأ المصفوفة بقيم الإدخال واعرض العناصر على الشاشة. استخدم حلقتين: الأولى لإدخال العناصر، والثانية للإخراج.

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

    معالجة المصفوفات في باسكال، وكذلك ملء المصفوفة، عادة ما تتم باستخدام حلقة for.

    const a:صفيف عدد صحيح = (1، 3، 2، 5)؛دالة عشوائية في باسكال

    من أجل عدم طلب قيم عناصر المصفوفة باستمرار، يتم استخدام مولد أرقام عشوائية في باسكال، والذي يتم تنفيذه بواسطة الدالة Random. في الواقع، يتم إنشاء أرقام عشوائية زائفة، ولكن هذا ليس الهدف.

    لتوليد أرقام من 0 إلى n (لا تشمل قيمة n نفسها، الأعداد الصحيحة في الفاصل الزمني للأعداد الصحيحة؛ i:integer؛ ابدأ بطريقة عشوائية؛ لأن i:=1 إلى 10 تبدأ f[i]:=random(10); (فاصل زمني) write(f[i], "");

    ل
    أرقام حقيقية

    في الفاصل الزمني

    وعرض العناصر على الشاشة: تحديد ثلاثة مواضع لعرض كل عنصر.

    const a:صفيف عدد صحيح = (1، 3، 2، 5)؛أرقام فيبوناتشي بالباسكال

    1 2 3 4 5 6 7 8 9 10 11 فار ط: عدد صحيح؛

    f: المصفوفة [0 .. 19] من عدد صحيح؛

    تبدأ و[ 0 ] : = 1 ; و[ 1 ] : = 1 ; for i: = 2 to 19 تبدأ f[i] : = f[ i- 1 ] + f[ i- 2 ] ;

    writeln (f[i]) النهاية ؛نهاية. فار ط:عدد صحيح؛ و: مجموعة من الأعداد الصحيحة؛ تبدأ و:=1؛ و:=1; لأن i:=2 إلى 19 تبدأ f[i]:=f+f; writeln(f[i]) end; نهاية. في هذا المثال، يصبح مبدأ العمل مع سلسلة الأرقام واضحا. عادةً، لاشتقاق سلسلة أرقام، يتم العثور على صيغة لتحديد كل عنصر من عناصر هذه السلسلة. لذلك، في حالة أرقام فيبوناتشي، تبدو قاعدة الصيغة هذه مثل f[i]:=f+f. ولذلك يجب استخدامه فيللحلقة

    عند تشكيل عناصر المصفوفة

    مهمة المصفوفة 2


    نظرا لصف من 10اِعتِباطِيّ

    الأرقام: a، a، ...، a (استخدم الدالة Random()). حساب وطباعة مبالغ من ثلاثة توائميقف في مكان قريب

    الأرقام: a+a+a , a+a+a , a+a+a , …… , a+a+aالكود الزائف:

    العثور على الحد الأقصى للعنصر من خلال فهرسه:مهمة Array_min: ابحث عن الحد الأدنى لعنصر المصفوفة. طباعة العنصر وفهرسه.مهمة المصفوفة 4 نظرا لمجموعة من 10 عناصر صحيحة. ابحث عن عدد الأرقام السلبية واعرض الرقم على الشاشة.مهمة المصفوفة 5

    ابحث عن الحد الأدنى والحد الأقصى للأرقام المدخلة (المصفوفة). تحديد المسافة بين هذه العناصر. 3 2 6 1 3 4 7 2 >>> الحد الأدنى=1، الحد الأقصى=7، المسافة=3

    const a:صفيف عدد صحيح = (1، 3، 2، 5)؛

    مهمة المصفوفة 6

    نظرا لمجموعة صحيحة من الحجم

    ن

    const a:صفيف عدد صحيح = (1، 3، 2، 5)؛. اطبع جميع الأرقام الزوجية الموجودة في هذه المصفوفة بالترتيب التنازلي لمؤشراتها، بالإضافة إلى أرقامها ك. N=4 ماس: 8 9 2 5 >>> 2 8 الكمية= 2.
    مهمة المصفوفة 7 كأدخل مصفوفة مكونة من 5 عناصر من لوحة المفاتيح، وابحث عن الحد الأقصى للعنصرين وأرقامهما فيها. N=4 ماس: 8 9 2 5 >>> 2 8 الكمية= 2المصفوفة الأولية: 4 -5 10 -10 5 الحد الأقصى A=10, A=5


    البحث في مصفوفة
    دعونا نلقي نظرة على مثال معقد للعمل مع صفائف أحادية البعد:

    نظرا لمجموعة من 10 أرقام. تحديد ما إذا كان الرقم الذي أدخله المستخدم موجودًا في المصفوفة. إذا كان هناك، الإخراج

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 "وجد" ، إن لم يكن –"لم يتم العثور عليه"

    var f: مجموعة من الأعداد الصحيحة؛ العلم:منطقي؛ أنا، ج: عدد صحيح؛ البدء بشكل عشوائي؛ لأن i:=1 إلى 10 يبدأ f[i]:=random(10);

    write(f[i]," "); نهاية؛ العلم:=خطأ؛ writeln("أدخل العينة"); readln(ج); for i:=1 to 10 do if f[i]=c ثم ابدأ writeln("found");

    العلم:=صحيح؛استراحة؛ نهاية؛ إذا كان العلم = خطأ ثم writeln("لم يتم العثور عليه"); نهاية.

    دعونا نفكر

    • الحل الفعال:
    • مهمة:

    ابحث عن عنصر يساوي X في المصفوفة، أو أثبت أنه غير موجود.

    الخوارزمية:

    ابدأ من العنصر الأول (i:=1)؛إذا كان العنصر التالي (A[i]) يساوي X، فقم بإنهاء البحث وإلا انتقل إلى العنصر التالي.

    const a:صفيف عدد صحيح = (1، 3، 2، 5)؛

    الحل في خيار باسكال 2. أثناء الحلقة:

    ندعوك لمشاهدة تحليل فيديو تفصيلي للبحث عن عنصر في مصفوفة (خوارزمية فعالة):

    const a:صفيف عدد صحيح = (1، 3، 2، 5)؛مهمة المصفوفة 8



    املأ مصفوفة مكونة من 10 عناصر بأرقام عشوائية في الفاصل الزمني واطبع أرقام جميع العناصر التي تساوي X.

    دعونا نفكر
    المصفوفة الأولية: 4 0 1 2 0 1 3 4 1 0 ما الذي نبحث عنه؟ 0 أ، أ، أ

    التحول الدوري

    قم بنقل عناصر المصفوفة إلى اليسار بمقدار موضع واحد، وسيحل العنصر الأول محل العنصر الأخير.حل: ج:=أ؛ أ:=أ؛… أ:=أ[ن]؛.
    const a:صفيف عدد صحيح = (1، 3، 2، 5)؛برنامج:

    مهمة المصفوفة 9

    املأ مصفوفة مكونة من 10 عناصر بأرقام عشوائية في الفاصل الزمني [-10..10] وقم بإجراء إزاحة دائرية إلى اليسار

    const a:صفيف عدد صحيح = (1، 3، 2، 5)؛بدون العنصر الأول


    املأ مصفوفة مكونة من 10 عناصر بأرقام عشوائية في الفاصل الزمني واطبع أرقام جميع العناصر التي تساوي X.

    دعونا نفكر

    المصفوفة الأولية: 4 -5 3 10 -4 -6 8 -10 1 0 النتيجة: 4 3 10 -4 -6 8 -10 1 0 -5

    التحول الدوري

    إعادة ترتيب العناصر في المصفوفةدعونا نلقي نظرة على كيفية إعادة ترتيب المصفوفة أو عكسها.
    const a:صفيف عدد صحيح = (1، 3، 2، 5)؛إعادة ترتيب عناصر المصفوفة بترتيب عكسي

    الكود الزائف:

    const a:صفيف عدد صحيح = (1، 3، 2، 5)؛مهمة المصفوفة 10

    املأ مصفوفة مكونة من 10 عناصر بأرقام عشوائية في الفاصل الزمني واطبع أرقام جميع العناصر التي تساوي X.

    املأ مصفوفة مكونة من 10 عناصر بأرقام عشوائية في الفاصل الزمني واطبع أرقام جميع العناصر التي تساوي X.املأ مصفوفة مكونة من 10 عناصر بأرقام عشوائية في الفاصل الزمني [-10..10] واعكس جميع العناصر باستثناء العنصر الأخير. مصفوفة المصدر: -5 3 10 -4 -6 8 -10 1 0 4 النتيجة: 0 1 -10 8 -6 -4 10 3 -5 4اختيار العناصر وحفظها في مجموعة أخرى 1 .


    البحث عن عناصر في مصفوفة تستوفي بعض الشروط (على سبيل المثال، سالبة) ونسخها إلى مصفوفة أخرى

    قم بحساب عدد العناصر الموجودة باستخدام عداد العد، ثم قم بتثبيت العنصر التالي في مكانه B. باستخدام متغير

    عدديجب أن يتم تعيينها
    const a:صفيف عدد صحيح = (1، 3، 2، 5)؛إخراج الصفيف ب:

    writeln("العناصر المحددة"); بالنسبة إلى i:=1 إلى العد-1، اكتب(B[i], " ")

    مهمة المصفوفة 11

    • املأ مصفوفة بأرقام عشوائية في الفاصل الزمني واكتب في مصفوفة أخرى جميع الأرقام التي تنتهي بالرقم 0.
    • أثناء التكرار الأول للحلقة، تتم مقارنة عناصر المصفوفة مع بعضها البعض في أزواج: العنصر قبل الأخير مع الأخير، والعنصر قبل الأخير مع العنصر قبل الأخير، وما إلى ذلك. إذا تبين أن العنصر السابق أكبر من العنصر اللاحق، فسيتم تبادله.
    • أثناء التكرار الثاني للحلقة، ليست هناك حاجة لمقارنة العنصر الأخير بالعنصر قبل الأخير. العنصر الأخير موجود بالفعل، وهو الأكبر. وهذا يعني أن عدد المقارنات سيكون أقل بواحدة. وينطبق الشيء نفسه على كل التكرار اللاحق.

    التنفيذ بالباسكال:

    1 2 3 4 5 6 7 8 for i: = 1 إلى N- 1 ابدأ بـ j: = N- 1 نزولاً إلى i أفعل إذا A[ j] > A[ j+ 1 ] ثم ابدأ بـ: = A[ j] ;

    أ[ ي] : = أ[ ي+ 1 ] ;

    أ[ي+ 1] : = س;نهاية ؛ نهاية ؛ const a:صفيف عدد صحيح = (1، 3، 2، 5)؛بالنسبة إلى i:=1 إلى N-1، ابدأ بـ j:=N-1 وصولاً إلى i أفعل إذا A[j] > A ثم ابدأ من:= A[j];

    أ[ي] := أ;

    • أ := ج؛
    • نهاية؛ نهاية؛

    مهمة المصفوفة 12

    املأ مصفوفة مكونة من 10 عناصر بأرقام عشوائية في الفاصل الزمني وقم بفرز النصف الأول من المصفوفة بترتيب تصاعدي، والثاني بترتيب تنازلي (باستخدام طريقة "الفقاعة").< A then min:=j; if min <>مصفوفة المصدر: 14 25 13 30 76 58 32 11 41 97 النتيجة: 13 14 25 30 76 97 58 41 32 11

    الفرز حسب الاختياريتم البحث عن الحد الأدنى من العناصر في المصفوفة ووضعها في المقام الأول (يتم تبديل الأماكن بحرف A)؛ const a:صفيف عدد صحيح = (1، 3، 2، 5)؛من بين العناصر المتبقية، يتم أيضًا البحث عن العنصر الأدنى، والذي يتم وضعه في المركز الثاني (يتم تبديل الأماكن بحرف A)، وما إلى ذلك.

    ابدأ ج: = أ[i]؛

    دعونا نفكر

    التنفيذ بالباسكال:

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 أ[i] : = أ[دقيقة]؛< last then begin X: = A[ (first + last) div 2 ] ; L: = first; R: = last; while L <= R do begin while A[ L] < X do L: = L + 1 ; while A[ R] >أ[دقيقة]: = ج؛<= R then begin c: = A[ L] ; A[ L] : = A[ R] ; A[ R] : = c; L: = L + 1 ; R: = R - 1 ; end ; end ; QSort(first, R) ; QSort(L, last) ; end ; end .

    نهاية ؛ نهاية ؛< last then begin X:= A[(first + last) div 2]; L:= first; R:= last; while L <= R do begin while A[L] < X do L:= L + 1; while A[R] >for i:= 1 to N-1 تبدأ min:= i ;<= R then begin c:= A[L]; A[L]:= A[R]; A[R]:= c; L:= L + 1; R:= R - 1; end; end; QSort(first, R); QSort(L, last); end; end.

    من أجل j:= i+1 إلى N، افعل إذا A[j]
    ثم أبدأ c:=A[i];

    المصفوفة عبارة عن بنية بيانات يتم تمثيلها كمجموعة من الخلايا من نفس النوع، متحدة تحت اسم واحد. تستخدم المصفوفات لمعالجة كميات كبيرة من البيانات من نفس النوع. اسم المصفوفة هو ما هي المؤشرات، سأخبرك بها بعد قليل. تسمى خلية البيانات الفردية للمصفوفة عنصر المصفوفة. يمكن أن تكون عناصر المصفوفة بيانات من أي نوع. يمكن أن تحتوي المصفوفات على بُعد واحد أو أكثر. اعتمادًا على عدد الأبعاد، يتم تقسيم المصفوفات إلى صفائف أحادية البعد، ومصفوفات ثنائية الأبعاد، ومصفوفات ثلاثية الأبعاد، وهكذا حتى مصفوفة n-الأبعاد. غالبًا ما يتم استخدام المصفوفات أحادية البعد وثنائية الأبعاد في البرمجة، لذلك سننظر في هذه المصفوفات فقط.

    المصفوفات أحادية البعد في لغة C++

    المصفوفة أحادية البعد هي مصفوفة ذات معلمة واحدة تحدد عدد عناصر المصفوفة أحادية البعد. في الواقع، المصفوفة أحادية البعد هي مصفوفة يمكن أن تحتوي على صف واحد فقط وعدد n من الأعمدة. الأعمدة الموجودة في مصفوفة أحادية البعد هي عناصر المصفوفة. يوضح الشكل 1 بنية مصفوفة صحيحة أحادية البعد أ. حجم هذه المجموعة هو 16 خلية.

    الشكل 1 - المصفوفات في لغة C++

    لاحظ أن الحد الأقصى لفهرس مصفوفة أحادية البعد أهو 15، لكن حجم المصفوفة هو 16 خلية، لأن ترقيم خلايا المصفوفة يبدأ دائمًا من 0. فهرس الخلية عبارة عن عدد صحيح غير سالب يمكنك من خلاله الوصول إلى كل خلية في المصفوفة وتنفيذ أي إجراءات عليها ( خلية).

    // بناء جملة للإعلان عن مصفوفة أحادية البعد في لغة C++: /*نوع البيانات*/ /*اسم مصفوفة أحادية البعد*/; // مثال للإعلان عن مصفوفة أحادية البعد موضحة في الشكل 1: int a;

    حيث int هو عدد صحيح؛

    A هو اسم مصفوفة أحادية البعد؛
    16 هو حجم مصفوفة أحادية البعد، 16 خلية.

    دائمًا ما يكون بعد اسم المصفوفة مباشرة أقواس مربعة يتم فيها تحديد حجم المصفوفة أحادية البعد؛ وهذا ما يميز المصفوفة عن جميع المتغيرات الأخرى.

    // طريقة أخرى للإعلان عن المصفوفات أحادية البعد int mas, a;

    تم الإعلان عن مصفوفتين أحاديتي البعد mas وa بالحجمين 10 و16 على التوالي. علاوة على ذلك، في طريقة الإعلان هذه، سيكون لجميع المصفوفات نفس نوع البيانات، في حالتنا - int.

    // يمكن تهيئة المصفوفات عند الإعلان عنها: int a = ( 5, -12, -12, 9, 10, 0, -9, -12, -1, 23, 65, 64, 11, 43, 39, -15 ); // تهيئة مصفوفة أحادية البعد

    يتم تنفيذ تهيئة مصفوفة أحادية البعد بين قوسين متعرجين بعد الإشارة يساوي، يتم فصل كل عنصر من عناصر المصفوفة عن العنصر السابق بفاصلة.

    كثافة العمليات =(5,-12,-12,9,10,0,-9,-12,-1,23,65,64,11,43,39,-15); // تهيئة المصفوفة دون تحديد حجمها.

    في هذه الحالة، سيحدد المترجم نفسه حجم المصفوفة أحادية البعد. لا يمكن حذف حجم المصفوفة إلا عند تهيئتها؛ عند الإعلان عن مصفوفة بشكل طبيعي، يجب تحديد حجم المصفوفة. دعونا نطور برنامجًا بسيطًا لمعالجة مصفوفة أحادية البعد.

    // array.cpp: يحدد نقطة الدخول لتطبيق وحدة التحكم. #تتضمن "stdafx.h" #تتضمن << "obrabotka massiva" << endl; int array1 = { 5, -12, -12, 9, 10, 0, -9, -12, -1, 23, 65, 64, 11, 43, 39, -15 }; // объявление и инициализация одномерного массива cout << "indeks" << "\t\t" << "element massiva" << endl; // печать заголовков for (int counter = 0; counter < 16; counter++) //начало цикла { //вывод на экран индекса ячейки массива, а затем содержимого этой ячейки, в нашем случае - это целое число cout << "array1[" << counter << "]" << "\t\t" << array1 << endl; } system("pause"); return 0; }

    // الكود Code::Blocks

    // كود Dev-C++

    // array.cpp: يحدد نقطة الدخول لتطبيق وحدة التحكم. #يشمل باستخدام مساحة الاسم الأمراض المنقولة جنسيا؛ int main(int argc, char* argv) (cout<< "obrabotka massiva" << endl; int array1 = { 5, -12, -12, 9, 10, 0, -9, -12, -1, 23, 65, 64, 11, 43, 39, -15 }; // объявление и инициализация одномерного массива cout << "indeks" << "\t\t" << "element massiva" << endl; // печать заголовков for (int counter = 0; counter < 16; counter++) //начало цикла { //вывод на экран индекса ячейки массива, а затем содержимого этой ячейки, в нашем случае - это целое число cout << "array1[" << counter << "]" << "\t\t" << array1 << endl; } return 0; }

    في الأسطر 10 - 11تم الإعلان عن مصفوفة عددية أحادية البعد تسمى array1 وتهيئتها، ويبلغ حجمها 16 خلية، أي أن مثل هذه المصفوفة يمكنها تخزين 16 رقمًا. لا يمكن معالجة أي مصفوفة إلا بالتزامن مع الحلقات. أي حلقة تختارها لمعالجة المصفوفة متروك لك لتقررها. لكنها الأنسب لهذه المهمة. سوف نستخدم العداد المتغير العداد للوصول إلى عناصر المصفوفة أحادية البعد array1. يحتوي شرط الاستمرار للحلقة على علامة عدم المساواة الصارمة، حيث لا يوجد فهرس السادس عشر في المصفوفة أحادية البعد1. وبما أن ترقيم الخلايا يبدأ من الصفر، فهناك 16 عنصرًا في المصفوفة، في نص الحلقة، يقوم عامل cout بطباعة عناصر مصفوفة أحادية البعد (انظر الشكل 2).

    Obrabotka Massiva فهارس العنصر Massiva array1 5 array1 -12 array1 -12 array1 9 array1 10 array1 0 array1 -9 array1 -12 array1 -1 array1 23 array1 65 array1 64 array1 11 array1 43 array1 39 array1 -15 للمتابعة، اضغط على أي مفتاح. . .

    الشكل 2 - المصفوفات في لغة C++

    دعونا نطور برنامجًا آخر لمعالجة مصفوفة أحادية البعد في لغة C++. يجب أن يقرأ البرنامج عشرة أرقام تم إدخالها من لوحة المفاتيح بشكل تسلسلي. يتم تلخيص كافة الأرقام المدخلة ويتم عرض النتيجة على الشاشة.

    // array_sum.cpp: يحدد نقطة الدخول لتطبيق وحدة التحكم. #تتضمن "stdafx.h" #تتضمن << "Enter elementi massiva: " << endl; int sum = 0; for (int counter = 0; counter < 10; counter++) // цикл для считывания чисел cin >> << "array1 = {"; for (int counter = 0; counter < 10; counter++) // цикл для вывода элементов массива cout << array1 << " "; // выводим элементы массива на стандартное устройство вывода for (int counter = 0; counter < 10; counter++) // цикл для суммирования чисел массива sum += array1; // суммируем элементы массива cout << "}\nsum = " << sum << endl; system("pause"); return 0; }

    // الكود Code::Blocks

    // كود Dev-C++

    // array_sum.cpp: يحدد نقطة الدخول لتطبيق وحدة التحكم. #يشمل باستخدام مساحة الاسم الأمراض المنقولة جنسيا؛ int main(int argc, char* argv) ( int array1; // أعلن عن صفيف عدد صحيح cout<< "Enter elementi massiva: " << endl; int sum = 0; for (int counter = 0; counter < 10; counter++) // цикл для считывания чисел cin >>array1; // قراءة الأرقام المدخلة من لوحة المفاتيح cout<< "array1 = {"; for (int counter = 0; counter < 10; counter++) // цикл для вывода элементов массива cout << array1 << " "; // выводим элементы массива на стандартное устройство вывода for (int counter = 0; counter < 10; counter++) // цикл для суммирования чисел массива sum += array1; // суммируем элементы массива cout << "}\nsum = " << sum << endl; return 0; }

    قبل معالجة المصفوفة، يجب الإعلان عنها، ويكون حجم المصفوفة أحادية البعد 10، حيث ينص على ذلك شرط المهمة. في المتغير sum سنقوم بتجميع مجموع عناصر المصفوفة أحادية البعد. تملأ حلقة for الأولى المصفوفة أحادية البعد المعلنة بالأرقام التي تم إدخالها من لوحة المفاتيح، الأسطر 12 - 13. يتم استخدام المتغير counter للوصول بشكل تسلسلي إلى عناصر المصفوفة أحادية البعد array1، بدءًا من الفهرس 0 وحتى الفهرس التاسع. تعرض الحلقة الثانية عناصر المصفوفة، الأسطر 15 - 16. الحلقة الثالثة تقرأ عناصر المصفوفة أحادية البعد بشكل متتابع وتجميعها، ويتم تجميع المجموع في متغير المجموع. الأسطر 17 - 18. وتظهر نتيجة البرنامج في الشكل 3.

    أدخل كتلة العناصر: 0 1 2 3 4 5 6 7 8 9 array1 = (0 1 2 3 4 5 6 7 8 9 ) المجموع = 45 للمتابعة، اضغط على أي مفتاح. . .

    الشكل 3 - المصفوفات في لغة C++

    أولاً، تم إدخال جميع الأرقام العشرة بالتسلسل، وبعد ذلك تم عرض مصفوفة أحادية البعد، وتمت طباعة مجموع الأرقام الموجودة في المصفوفة.

    المصفوفات ثنائية الأبعاد في لغة C++

    حتى هذه اللحظة، تناولنا المصفوفات أحادية البعد، والتي لا يمكن دائمًا أن تقتصر عليها. لنفترض أنك بحاجة إلى معالجة بعض البيانات من جدول. يحتوي الجدول على خاصيتين: عدد الصفوف وعدد الأعمدة. أيضًا في المصفوفة ثنائية الأبعاد، بالإضافة إلى عدد عناصر المصفوفة، هناك خصائص مثل عدد الصفوف وعدد الأعمدة في المصفوفة ثنائية الأبعاد. وهذا يعني، بصريًا، أن المصفوفة ثنائية الأبعاد عبارة عن جدول عادي به صفوف وأعمدة. في الواقع، المصفوفة ثنائية الأبعاد هي مصفوفة أحادية البعد من المصفوفات أحادية البعد. يظهر أدناه هيكل مصفوفة ثنائية الأبعاد، تسمى a، بحجم m × n (انظر الشكل 4).

    الشكل 4 - المصفوفات في لغة C++

    حيث m هو عدد أسطر المصفوفة ثنائية الأبعاد؛
    n هو عدد أعمدة المصفوفة ثنائية الأبعاد؛
    م * ن — عدد عناصر المصفوفة.

    // بناء الجملة للإعلان عن مصفوفة ثنائية الأبعاد /*نوع البيانات*/ /*اسم المصفوفة*/;

    عند الإعلان عن مصفوفة ثنائية الأبعاد، وكذلك عند الإعلان عن مصفوفة أحادية البعد، عليك أولاً تحديد:

    • نوع البيانات؛
    • اسم المصفوفة.

    بعد ذلك، تشير الأقواس المربعة الأولى إلى عدد صفوف المصفوفة ثنائية الأبعاد، وتشير الأقواس المربعة الثانية إلى عدد أعمدة المصفوفة ثنائية الأبعاد. يتم تمييز المصفوفة ثنائية الأبعاد بصريًا عن المصفوفة أحادية البعد بواسطة زوج ثانٍ من الأقواس المربعة. لنلقِ نظرة على مثال للإعلان عن مصفوفة ثنائية الأبعاد. لنفترض أننا بحاجة إلى الإعلان عن مصفوفة ثنائية الأبعاد بعدد عناصر يساوي 15. في هذه الحالة، يمكن أن تحتوي المصفوفة ثنائية الأبعاد على ثلاثة صفوف وخمسة أعمدة أو خمسة صفوف وثلاثة أعمدة.

    // مثال لإعلان مصفوفة ثنائية الأبعاد: int a;

    • a هو اسم مجموعة الأعداد الصحيحة
    • يشير الرقم الموجود بين القوسين المربعين الأول إلى عدد صفوف المصفوفة ثنائية الأبعاد، وفي هذه الحالة يوجد 5؛
    • يشير الرقم الموجود بين القوسين المربعين الثاني إلى عدد أعمدة المصفوفة ثنائية الأبعاد، وفي هذه الحالة يوجد 3.

    // تهيئة مصفوفة ثنائية الأبعاد: int a = ( (4, 7, 8), (9, 66, -1), (5, -5, 0), (3, -3, 30), ( 1، 1، 1))؛

    تحتوي هذه المصفوفة على 5 صفوف و3 أعمدة. بعد علامة التعيين، يتم وضع أقواس معقوفة عامة، حيث يتم وضع عدد من أزواج الأقواس المتعرجة بقدر ما يجب أن يكون هناك خطوط في مصفوفة ثنائية الأبعاد، ويتم فصل هذه الأقواس بفواصل. في كل زوج من الأقواس المتعرجة، اكتب عناصر مصفوفة ثنائية الأبعاد مفصولة بفواصل. في جميع الأقواس المتعرجة، يجب أن يكون عدد العناصر هو نفسه. نظرًا لوجود خمسة أسطر في المصفوفة، يوجد أيضًا خمسة أزواج داخلية من الأقواس. وتكتب ثلاثة عناصر بين القوسين الداخليين، لأن عدد الأعمدة هو ثلاثة. بيانياً، ستبدو المصفوفة لدينا كجدول ثنائي الأبعاد (انظر الشكل 5).

    الشكل 5 - المصفوفات في لغة C++

    في كل خلية من مجموعة ثنائية الأبعاد أتظهر القيمة، ويظهر عنوان هذه الخلية في الزاوية اليمنى السفلى. عنوان الخلية لمصفوفة ثنائية الأبعاد هو اسم المصفوفة ورقم الصف ورقم العمود.

    دعونا نطور برنامجًا بسيطًا لمعالجة مصفوفة ثنائية الأبعاد، يسمى "المتاهة". يجب بناء المتاهة على أساس مصفوفة ثنائية الأبعاد. سنختار حجم المتاهة حسب تقديرنا.

    // array2.cpp: يحدد نقطة الدخول لتطبيق وحدة التحكم. #تتضمن "stdafx.h" #تتضمن < 33; i++) //переключение по строкам { for (int j = 0; j < 20; j++)// переключение по столбцам if (mas[i][j] == 1) { // вывести два раза символ (номер которого 176 в таблице аски) в консоль cout << static_cast(176)؛<< static_castcout<< " "; // вывести два пробела cout << endl; } system("pause"); return 0; }

    // الكود Code::Blocks

    // كود Dev-C++

    (176)؛ باستخدام مساحة الاسم الأمراض المنقولة جنسيا؛ int main(int argc, char* argv) ( // 1- "جدران المتاهة" مشروطة // 2- "المسار الصحيح، الخروج من المتاهة" // 0- "المسار الخاطئ" int mas = ( (1, 2,1 ,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,), // تهيئة مصفوفة ثنائية الأبعاد ( 1,2,1,0 ,0,1,0,1,2,2,2,1,1,1,1,0,0,0,0,1,), (1,2,1,1 ,0,1,0, 1,2,1,2,2,2,2,1,0,1,1,0,1,), (1,2,2,2,2,2,2, 1,2,1,1 ,1,1,2,1,0,0,1,0,1,), (1,1,1,1,1,1,2,1,2,1,0 ,0,1,2, 1,1,0,1,0,1,), (1,0,0,1,0,0,2,2,2,1,1,0,0,2, 0,0,0,1,0,1,), (1,0,1,1,0,1,1,1,1,1,0,0,1,2,1,1,1,1 ,0,1,), (1,0,0,0,0,0,0,0,0,1,1,1,1,2,1,0,0,0,0,1,), (1,1,1, 1,1,1,0,1,1,1,2,2,2,2,1,0,1,1,1,1,), (1,1,0, 0,0,1,0 ,0,1,1,2,1,1,1,1,0,0,0,0,1,), (1,0,0,1,0,0,0 ,0,0,1, 2,2,2,2,1,1,1,1,0,1,), (1,1,1,1,1,1,1,1,1,1, 1,1,1,2 ,1,0,0,0,0,1,), (1,2,2,2,2,2,2,2,2,2,2,2,2,2 ,1,0,1, 1,1,1,), (1,2,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0, 0,0,1,) , (1,2,1,0,0,0,1,2,2,2,1,0,0,0,0,0,1,1,0,1,) , (1,2,1 ,1,1,1,1,2,1,2,1,1,1,0,1,0,0,0,0,1,), (1,2,1 ,2,2,2, 1,2,1,2,2,2,1,1,1,1,1,1,1,1,), (1,2,1,2,1,2, 1,2,1,0 ,1,2,2,2,2,2,2,2,2,1,), (1,2,1,2,1,2,1,2,1,0 ,1,1,1, 1,1,1,1,1,2,1,), (1,2,1,2,1,2,1,2,1,0,0,0,0, 0,0,0,0 ,0,2,1,), (1,2,1,2,1,2,2,2,1,0,1,1,1,1,1,1,0 ,1,2,1, ), (1,2,1,2,1,1,1,1,1,0,0,0,1,0,1,0,0,1,2,1, ), (1,2, 1,2,2,1,0,0,1,1,1,0,0,0,1,0,1,1,2,1,), (1,2, 1,1,2,1 ,1,0,0,0,0,0,1,0,1,0,0,1,2,1,), (1,2,1,1,2,1 ,0,0,1, 1,1,1,1,1,1,1,1,1,2,1,), (1,2,1,1,2,1,1,0,1, 2,2,2,2 ,2,2,2,2,2,2,1,), (1,2,1,1,2,1,0,0,1,2,1,1,1 ,1,1,1, 1,1,1,1,), (1,2,1,1,2,1,0,1,1,2,1,1,1,1,1,1, 1,1,2,2 ,), (1,2,1,1,2,1,0,0,1,2,1,1,2,2,2,2,2,2,2,1 ,), (1,2,1,1,2,1,0,1,1,2,1,1,2,1,1,1,1,1,1,1,), (1,2 ,1,1,2, 1,0,0,1,2,1,1,2,1,0,0,0,1,0,1,), (1,2,2,2,2, 1,0,1,1 ,2,2,2,2,0,0,1,0,0,0,1,), (1,1,1,1,1,1,1,1,1 ,1,1,1, 1,1,1,1,1,1,1,1,)); // حلقتان - داخلية وخارجية، للوصول إلى كل عنصر من عناصر المصفوفة for (int i = 0; i< 33; i++) //переключение по строкам { for (int j = 0; j < 20; j++)// переключение по столбцам if (mas[i][j] == 1) { // вывести два раза символ (номер которого 176 в таблице аски) в консоль cout << static_cast(176)؛<< static_castcout<< " "; // вывести два пробела cout << endl; } return 0; }

    يمكن الإشارة إلى المسارات الصحيحة والكاذبة بنفس الرقم، على سبيل المثال، صفر، ولكن للتوضيح، يتم الإشارة إلى المسار الصحيح بالرقم 2. تمت تهيئة المصفوفة يدويًا، فقط لتبسيط البرنامج. بما أن البرنامج يعالج مصفوفة ثنائية الأبعاد، فهناك حاجة إلى حلقتين للتبديل بين عناصر المصفوفة ثنائية الأبعاد. أول حلقة for تقوم بالتبديل بين صفوف مصفوفة ثنائية الأبعاد. بما أن هناك 33 صفًا في مصفوفة ثنائية الأبعاد، فإن متغير العداد i يزداد من 0 إلى 33، السطر 46. يوجد داخل الحلقة الأولى حلقة for التي تتنقل عبر عناصر الصف في مصفوفة ثنائية الأبعاد. في نص الحلقة الثانية، يتم تنفيذ عملية تحويل نوع البيانات الأحادية بالداخل - static_cast<>() الذي يطبع رقم الحرف 176. يتم تكرار عملية تحويل نوع البيانات لزيادة عرض المتاهة. نتيجة البرنامج (انظر الشكل 6).

    الشكل 6 - المصفوفات في لغة C++

    المصفوفة في البرمجةهي مجموعة من العناصر من نفس النوع (من نفس النوع).

    هناك عدة أنواع من المصفوفات - أحادي البعد(ناقلات) و متعدد الأبعاد.

    تتميز العناصر الموجودة في المصفوفة بأسمائها وأرقامها التسلسلية - المؤشرات.

    الفهرس هو الرقم الترتيبي لعنصر في المصفوفة.

    في باسكال، يتم تعيين مؤشر واحد أو أكثر لكل عنصر يصف موضع العنصر في المصفوفة.

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

    بناء جملة المصفوفة في باسكال هو:

    var a: مجموعة من الأعداد الصحيحة؛
    أين:
    1 - منخفض
    10 - مرتفع
    أ - اسم متغير الصفيف
    - نطاق القيم
    عدد صحيح - نوع البيانات
    A[i] – الوصول إلى عنصر المصفوفة في باسكال

    يمكن أن يكون نوع عناصر المصفوفة أي نوع صالح في باسكال، باستثناء الملفات (حتى المصفوفة).

    مثال على المصفوفة: A = (1,-5,230,55,-88,0,100)

    عندما يتم الإعلان عن مصفوفة، يجب أن يتم تعريف الحرف المرتفع الخاص بها بدقة.

    عند وصف مصفوفة، يتم تخصيص الذاكرة، ويجب أن يعرف المترجم مقدار الذاكرة التي يجب تخصيصها للمصفوفة الموصوفة.

    لا يوجد حد لعدد الفهارس في مصفوفة باسكال. ومع ذلك، يجب ألا يكون حجم الصفيف نفسه أكبر من 65537 بايت.

    يمكن أيضًا الإعلان عن مصفوفة في قسم تعريف النوع:

    اكتب الكتلة = مجموعة حقيقية؛ فار أ، ب، ج: الكتلة؛
    يتم الوصول إلى عناصر المصفوفة في حلقة.

    الطريقة الأكثر فعالية لمعالجة عناصر المصفوفة في باسكال هي مشغل الحلقة مع المعلمة.

    لماذا تعتقد؟ نعم، لأننا نعرف عددًا محدودًا من العناصر في المصفوفة.

    خوارزميات لملء مصفوفة في باسكال

    1. يتم إدخال عناصر الصفيف باستخدام الكمبيوتر باستخدام البناء التالي:

      بالنسبة إلى i:= 1 إلى 10، اقرأ(A[i]);

    2. ضبط المصفوفة بشكل عشوائي.

      يمكن ضبط المصفوفة بشكل عشوائي باستخدام مستشعر متغير عشوائي.

      لتشغيل مستشعر متغير عشوائي في باسكال، تحتاج إلى كتابة بناء خاص - عشوائية;

      يتم إنشاء القيمة الجديدة باستخدام الدالة Random(n)، حيث n عدد صحيح. في هذه الحالة، يتم إنشاء أي رقم بمدى من 0 إلى n.

      ك:= عشوائي(100);
      إذا تم استخدام الدالة العشوائية بدون معلمة، فإنها تولد رقمًا حقيقيًا (اكتب حقيقيًا) في النطاق 0< X < 1

      X:= عشوائي؛

    ملء مصفوفة بشكل عشوائي

    ينفذ هذا البناء في باسكال التعبئة العشوائية للمصفوفة.

    عشوائية ; For i:= 1 to 10 Do Begin A[i] := Random*100-70 ;

    اكتب (أ[i]:6:2) ؛ نهاية ؛


    يمكننا ملء عناصر مصفوفة أحادية البعد بالقيم: عن طريق إدخال القيم من لوحة المفاتيح؛ عشوائيا؛ وفقا للصيغة. طرق تحديد المصفوفات أحادية البعد تُستخدم الحلقات لإدخال وإخراج قيم المصفوفة الرقمية. يأخذ الإجراء معلمة حسب المرجع، وصفيف Mssiv من نوع معين، ومتغير عدد صحيح n مسؤول عن عدد خلايا الصفيف المراد ملؤها. تكوين مصفوفة أحادية البعد بشكل عشوائي.

    شارك عملك على الشبكات الاجتماعية


    إذا كان هذا العمل لا يناسبك، ففي أسفل الصفحة توجد قائمة بالأعمال المشابهة. يمكنك أيضًا استخدام زر البحث

    تعبئة.

    يمكننا ملء عناصر المصفوفة أحادية البعد بالقيم:

    إدخال القيم من لوحة المفاتيح؛

    عشوائيا؛

    وفقا للصيغة.

    طرق تعريف المصفوفات أحادية البعد

    تُستخدم الحلقات لإدخال وإخراج قيم المصفوفة الرقمية.

    دعونا نفكر في الإجراءات التي من شأنها أن تشكل مصفوفة أحادية البعد بطريقتين

    1) بشكل عشوائي،

    2) إدخال العناصر من لوحة المفاتيحلنفترض أننا سنعمل مع مجموعة من الأعداد الصحيحة. يكفي أن يكون لدينا حد أقصى لعدد العناصر يساوي 50. يأخذ الإجراء معلمة حسب المرجع، ومصفوفة ضخمة من نوع معين ومتغير صحيح نوهو المسؤول عن عدد خلايا الصفيف المراد ملؤها. سنحتاج أيضًا إلى متغير محلي أنا

    ، والذي سيكون بمثابة معلمة حلقة ويستخدم لتحديد رقم يحدد موقع العنصر في المصفوفة.وهو المسؤول عن عدد خلايا الصفيف المراد ملؤها. سنحتاج أيضًا إلى متغير محلي 1. تكوين مصفوفة أحادية البعد بشكل عشوائي. لنقم بتعيين قيمة كل عنصر على نتيجة الدالة العشوائية Random(10). سنقوم بتعيين ملء المصفوفة باستخدام عامل تشغيل دوري، حيث يتم حساب الرقم العشوائي بواسطة الدالة Random(10)، وبعد ذلك يتم تعيين هذه القيمة إلى التالي

    -العنصر من المصفوفة.

    إجراء InsertMas1(Var Massiv:mas; n:integer);

    أنا: عدد صحيح؛

    يبدأ

    عشوائية.

    لأني:=1 إلى n أفعل

    Massiv[i] := Random(10);

    نهاية ؛

    2. تكوين مصفوفة أحادية البعد عن طريق إدخال العناصر من لوحة المفاتيح.

    إجراء InsertMas1(Var Massiv:mas; n:integer);

    أنا: عدد صحيح؛

    عشوائية.

    أنا: عدد صحيح؛

    إجراء InsertMas2(Var Massiv:mas; n:integer); اكتب ("أدخل"، أنا

    ""العنصر الرابع من المصفوفة");

    readln(array[i]);

    readln(array[i]);

    نهاية؛

    يتم عرض المصفوفة على الشاشة كما يلي:

    إجراء InsertMas1(Var Massiv:mas; n:integer);

    أنا: عدد صحيح؛

    الإجراء PrintMas(massiv:mas; n:integer);

    لأني:=1 إلى ن

    Write(Massiv[i]:5);

    يجب أن نتذكر أنه في جميع الحالات الثلاث لا يمكننا الاستغناء عن تنظيم الدورة.

    العثور على الحد الأقصى (الحد الأدنى) لعنصر المصفوفة.

    دعونا نحصل على مصفوفة أحادية البعد:

    20,-2, 4, 10,7, 21,-12, 0, 4, 17.

    دعونا نفكر في العمليات التي يجب إجراؤها إذا أردنا العثور على الحد الأقصى للعنصر. بطبيعة الحال، لا نفكر في عملية المقارنة، حيث نقوم دائمًا بمقارنة زوج من خلال "تشغيل" جميع عناصر المصفوفة. سنقوم ببناء خوارزمية للعثور على العنصر الأقصى (الحد الأدنى) بطريقة تمكننا من مقارنة زوج من الأرقام، مع تكرار إجراء المقارنة بالعدد المطلوب من المرات.

    لذا علينا أن نجيب على سؤالين:

    1) ما هي الأرقام المضمنة في الزوج الذي يشكل عملية العلاقة؛

    2) كم مرة يجب تكرار عملية المقارنة. دعونا نقدم متغيرًا إضافيًا اسمه max. سيكون أحد الأرقام، والرقم الثاني هو العنصر التالي في المصفوفة. من أجل تنفيذ عملية المقارنة الأولى، من الضروري تعيين بعض القيمة الأولية للمتغير max. قد يكون هناك خياران هنا:

    1) قم بتعيين العنصر الأول من المصفوفة إلى المتغير max؛

    2) قم بتعيين رقم من الواضح أنه أصغر من جميع عناصر المصفوفة.

    تحتوي المصفوفة على معلومات حول عدد الطلاب في كل مجموعة من السنة الأولى. حدد المجموعة التي تضم الحد الأقصى لعدد الطلاب، على افتراض أن رقم المجموعة يتوافق مع الرقم التسلسلي للرقم الموجود في المصفوفة (نفترض أن هناك مجموعة واحدة فقط من هذا القبيل).

    بمعنى آخر، يجب علينا إيجاد الحد الأقصى للعنصر وعدده.

    برنامج max_num؛

    اكتب mas=array[1..10] من البايت؛

    فار أ: ماس؛

    الأسطوانات، ط: بايت؛

    الحد الأقصى: بايت؛

    يبدأ

    (ملء الكتلة)

    لأني:=l إلى 7 افعل

    readln(a[i]);

    (ابحث عن الحد الأقصى ورقمه)

    الحد الأقصى:==0;

    (أدخل أصغر رقم لهذه المصفوفة)

    لأني:=l إلى n أفعل

    إذا كان a[i]>max فابدأ

    الأسطوانات:=أنا;

    الحد الأقصى:=أ[i]

    نهاية؛

    writeln("الحد الأقصى لعدد الطلاب =",max);

    writeln("رقم المجموعة =",num);

    نهاية.

    3) ابحث عن الحد الأدنى للعنصر بين العناصر الزوجية للمصفوفة.

    توضيح: لا يمكننا تعيين المتغير min كعنصر أول في المصفوفة، لأن قد يكون غريبا. ولذلك، يجب علينا اختيار عدد كبير جداً لهذا النوع من البيانات.

    إذا أعلنا عناصر المصفوفة عدد صحيح، إذنمثله الرقم سيكون +32767.

    برنامج min_even؛

    أ:مجموعة من الأعداد الصحيحة؛

    أنا: عدد صحيح؛

    الحد الأدنى: عدد صحيح؛

    يبدأ

    لأني:=l إلى 10 أفعل beein

    writeln("أدخل عنصر الصفيف التالي");

    readln(a[i]) ;

    نهاية؛

    الحد الأدنى: = 32767؛

    لأني:=l إلى 10 افعل

    إذا (أ[i]

    إذا كان الحد الأدنى = 32767، فاكتب ("لا توجد عناصر زوجية في المصفوفة") وإلا اكتب ("الحد الأدنى للعنصر بين العناصر الزوجية في المصفوفة = "، دقيقة)

    نهاية.

    يرجى ملاحظة: من الضروري التحقق مما إذا كانت قيمة المتغير الأدنى قد تغيرت، لأن قد لا يكون هناك حتى العناصر.

    أعمال أخرى مماثلة قد تهمك.vshm>

    8729. تعريف وطرق مواصفات الآلة المحدودة. مشكلة التوليف. الآلات الابتدائية 189.1 كيلو بايت
    تعريف وطرق تحديد آلة الحالة المحدودة. تعريف وطرق مواصفات الآلة المحدودة. تعريف آلة الدولة المحدودة. طرق تحديد آلة الحالة المحدودة.
    3552. الواجبات المنزلية الفردية في الكيمياء. واجبات الكيمياء المنزلية 475.47 كيلو بايت
    تتضمن المبادئ التوجيهية واجبات منزلية فردية حول المواضيع التالية: فئات المركبات غير العضوية، والمكافئ الكيميائي، والتركيب الذري، والترابط الكيميائي، والديناميكا الحرارية الكيميائية، والحركية الكيميائية، وتركيز المحاليل، والتفاعلات الأيونية والتحلل المائي للأملاح، وتفاعلات الأكسدة والاختزال، والعمليات الكهروكيميائية، وخصائص المعادن.
    12127. المعادن الإستراتيجية (PGM، Ni، Co، Cr، Cu) من طبقات المافيك القديمة في شمال شرق الدرع الفينوسكانديان 17.77 كيلو بايت
    وصف موجز للتنمية. مزايا التطوير بالمقارنة مع نظائرها. أحد الجوانب المهمة للتطوير هو القدرة على تقليل التأثير التكنولوجي السلبي على البيئة عن طريق الحد بشكل حاد من الاستخدام المكثف لمعدات التعدين والحفر الثقيلة في مراحل الاستطلاع والتنقيب. مجالات الاستخدام التجاري للتطوير.
    9554. الرياضيات. الدليل المنهجي والمهام 268.34 كيلو بايت
    يهدف التخصص الأكاديمي "الرياضيات" إلى تنفيذ متطلبات الدولة فيما يتعلق بالحد الأدنى من المحتوى ومستوى تدريب خريجي التعليم المهني الثانوي.
    18129. المهام الإبداعية كوسيلة لتنمية الخيال 91.06 كيلو بايت
    تعكس هذه الدراسات تنوع الأفكار العلمية والمناهج العملية لتنظيم النشاط الإبداعي للطلاب في العملية التعليمية، ومع ذلك، فإن جانب توفير المهام الإبداعية بشكل هادف لأطفال المدارس الأصغر سنا في عملية التعلم كوسيلة لتنمية الخيال لم يكن كافيا بعد؛ درس. استنادا إلى التناقضات التي تم تحديدها في تحليل الأدبيات النفسية والتربوية الفلسفية، وكذلك نتيجة لدراسة تجربة المدارس الابتدائية، تمت صياغة مشكلة البحث التي تتكون من النظرية...
    19517. تطوير المواصفات الفنية لأتمتة متجر بوكفا 155.63 كيلو بايت
    البيع المختص للسلع بناءً على متطلبات العميل، أي التشاور مع المتخصصين. لذلك، من الضروري أن يتلقى المتجر معلومات حول حالة السوق وأن يزود السوق بمعلومات حول السلع والخدمات المتاحة. يتكون التفاعل مع وسائل الإعلام من توفير المتجر لبيانات عن نفسه وعن سلعه وخدماته، وبعد ذلك، من هذه البيانات، سيتم إنشاء إعلان لمتجر الكمبيوتر المحمول، والذي ينظر إليه السوق للسلع والخدمات؛ التوسع في أنواع المنتجات مزايا المتجر: خبرة واسعة...
    3548. واجبات الكيمياء المنزلية وإرشادات لإنجازها 229.61 كيلو بايت
    تم تصميم هذه الواجبات المنزلية للعمل المنهجي للطلاب من جميع التخصصات في دورة الكيمياء وفقًا للمنهج الدراسي. يساعد إكمال المهام الطلاب على تطوير مهارات العمل المستقل.
    19091. تحليل المواصفات الفنية والمتطلبات الفنية الأساسية للتصميم المطور 911.42 كيلو بايت
    غرفة الخادم (غرفة الخادم أو ببساطة غرفة الخادم) هي غرفة تكنولوجية مخصصة مع ظروف تم إنشاؤها وصيانتها خصيصًا لوضع وتشغيل معدات الخادم والاتصالات. يجب أن تكون درجة الحرارة المسموح بها في غرفة الخادم
    1763. تنفيذ مهمة كفصل دراسي باستخدام حاوية مكتبة القوالب القياسية (STL) C++ لتخزين المعلومات 190.6 كيلو بايت
    بناء جملة C++ موروث من لغة C. وكان أحد مبادئ التصميم هو الحفاظ على التوافق مع لغة C. ومع ذلك، فإن C++ ليست مجموعة شاملة من لغة C؛ العديد من البرامج التي يمكن ترجمتها بنفس القدر من النجاح بواسطة مترجمي لغة C...
    10124. وضع المواصفات الفنية لتقديم الخدمات الإعلانية وخدمات التنظيف والأمن والتوظيف 31.88 كيلو بايت
    تطوير المواصفات الفنية للخدمات الإعلانية: التنظيم القانوني للخدمات الإعلانية. تطوير المواصفات الفنية لخدمات التنظيف: المفاهيم الأساسية وأنواع الخدمات. تطوير المواصفات الفنية للخدمات الأمنية: التنظيم القانوني. تطوير المواصفات الفنية لخدمات شؤون الموظفين: المفاهيم الأساسية.

    مصفوفات أحادية البعد. تكوين مصفوفة وعرض عناصرها

    تعريف المفهوم

    المصفوفة عبارة عن مجموعة من البيانات من نفس النوع ولها اسم مشترك لجميع العناصر.

    يتم ترقيم عناصر المصفوفة، ويمكن الوصول إلى كل منها عن طريق الرقم. وتسمى أعداد عناصر المصفوفة بالمؤشرات، وتسمى عناصر المصفوفة نفسها بالمتغيرات المفهرسة.

    أ[ن]

    - 0. 5

    -5.2

    0.6

    ناقل (خطيأدخل مصفوفة مكونة من 5 عناصر من لوحة المفاتيح، وابحث عن الحد الأقصى للعنصرين وأرقامهما فيها. مصفوفة أحادية البعد) هو مثال لمصفوفة يتم فيها ترقيم العناصر بفهرس واحد.

    • مثل أرقام (مؤشر)عنصر الصفيف، بشكل عام، يتم استخدام التعبير النوع الترتيبي(غالبًا ما يكون هذا عددًا صحيحًا ثابتًا أو متغيرًا من النوع الصحيح: عدد صحيح, كلمة, بايتأدخل مصفوفة مكونة من 5 عناصر من لوحة المفاتيح، وابحث عن الحد الأقصى للعنصرين وأرقامهما فيها. Shortint)
    • عند الوصول إلى عنصر مصفوفة، تتم الإشارة إلى الفهرس بين قوسين مربعين. على سبيل المثال، كتلة.
    • تتم معالجة عناصر المصفوفة عندما تتغير مؤشرات العناصر. على سبيل المثال، عند استخدام تعبير، تكون المتغيرات التالية مفيدة للتكرار عبر عناصر المصفوفة:
      • أ[i] - جميع العناصر؛
      • أ - العناصر الموجودة في أماكن متساوية؛
      • أ - العناصر الموجودة في أماكن غريبة

    وصف المصفوفة

    • تعريف متغير كمصفوفة دون الإعلان أولاً عن نوع المصفوفة
    فارأ، ب، ج: صفيف ل عدد صحيح; فار الصورة: صفيف من عدد صحيح; ك: صفيف من عدد صحيح;

    ملحوظة

      • وصف المصفوفة مطلوب من قبل المترجم لتخصيص الذاكرة لعناصره.
      • يتم تعريف المتغير على أنه مصفوفة باستخدام كلمة دالة صفيف(مصفوفة). تتم الإشارة إلى النطاق بين قوسين مربعين، أي الحدود الدنيا والعليا لقيمة فهرس المصفوفة. لا يمكن أن تكون قيمة الحد الأعلى أقل من الحد الأدنى.
      • هنا يعتبر المتغيران s و k من أنواع مختلفة. لضمان التوافق، من الضروري استخدام إعلانات المتغير من خلال إعلان النوع الأولي.
      • إذا كانت أنواع المصفوفات متطابقة، فيمكن في البرنامج تعيين مصفوفة إلى أخرى. في هذه الحالة، سيتم تعيين قيم جميع المتغيرات في مصفوفة واحدة إلى العناصر المقابلة للمصفوفة الثانية.
      • لا توجد عمليات علائقية محددة على المصفوفات. يمكنك فقط مقارنة عنصرين من المصفوفات بعنصر.
    • وصف أولي لنوع الصفيف
    ثابتن = 5؛ يكتب ماس = صفيف من عدد صحيح; فارأ: ماس؛

    ملحوظة

      • سيتم الوصول إلى عناصر المصفوفة على النحو التالي: a، a، a، a، a (أي أن المصفوفة تحتوي على خمسة عناصر).
      • استخدام الثوابت(في هذا المثال n) من الأفضل وصف مصفوفة، لأنه إذا تغير حجم المصفوفة، فلن تكون هناك حاجة لإجراء تصحيحات في نص البرنامج بأكمله.
    • تعيين صفيف إلى ثابت مكتوب
    ثابتس: صفيف من عدد صحيح = (1, 2, 3, 4, 5, 6);

    ملحوظة

      • في هذا المثال، لا يتم تخصيص الذاكرة للمصفوفة فحسب، بل يتم أيضًا ملء الخلايا بالبيانات.
      • يمكن أن تكون عناصر المصفوفة يتغيرأثناء البرنامج (مثل كافة الثوابت المكتوبة).

    ملء مصفوفة بالبيانات

    § لملء مصفوفةالبيانات (ومخرجاتها)، يتم استخدام حلقة ذات معلمة في أغلب الأحيان ل

    § لملء مصفوفة بأرقام عشوائية، استخدم الدالة عشوائيوالإجراء عشوائية(تهيئة مولد الأرقام العشوائية). تنسيق التسجيل هو: عشوائي(ب - أ) + أ، حيث يتم أخذ A وB من الفاصل الزمني :4)؛

    برنامج مثال لإدخال وإخراج مجموعة

    بيان المشكلة.احصل على مجموع عناصر مصفوفة مكونة من 10 عناصر صحيحة. يتم إدخال عناصر المصفوفة من لوحة المفاتيح.

    برنامجصفيف2; فارمجموع: عدد صحيح; بايت; أنا: صفيف أ:; من الكلمةيبدأ المجموع:= 0;ل أنا:= 0 9 ل من الكلمة يفعل("أ[يكتب ] = "); "،أنا،" readln (أ[i])؛; المجموع:= مجموع + أ[i]("نهاية com.writeln نهاية.

    مجموع =

    بيان المشكلة."، مجموع)

    برنامجبرنامج مثال للعمل مع عناصر المصفوفة الحصول على الوسط الحسابي لعناصر المصفوفة. تمتلئ عناصر المصفوفة بأرقام عشوائية.صفيف3; فارثابت ن = 100؛سار: عدد صحيح; بايت; أنا: صفيف من عدد صحيح; من الكلمةيبدأ حقيقي; المجموع:= 0;ل أنا:= 0; ل من الكلمةمجموع: عشوائيعشوائية (أ[i])؛ن المجموع:= مجموع + أ[i]("أ[i] :=(100)؛ نهاية.

    زيادة الإعجابات مجانًا في خدمة Ask