arrays computer programming1 Lecture 7
arrays computer programming1 Lecture 7
T. Arwa Al-mohimmah
Data Type - بّبدٞأّ٘اع اىج
Array – ٍصل٘كخ
Int - ٌسق
Enumerated Groups – خَٞغ سقٍٍٞغب
Long - وٝ٘سقٌ غ
Pointers – ٍإششاد
Float -مغش
Structures – ْٚث
Double - وٝ٘مغش غ
Classes – اىلئبد
شٕبٞ…ٗؿ.
اىَصل٘كبد – Arrays
اىَصل٘كبد :
• اىَصل٘كبد ٕٕٞ ٜبمو ثٞبّبد رخضُ ٍغَ٘ػخ ٍِ اىَزـٞشاد ىٖب ّلظ اىْ٘ع ,كٖٜ
رغَٞغ ىنٞبّبد ثٞبّبد ٍزشبثٖخ ٗاىز ٜرخضُ كٍ٘ ٜاقغ رامشح ٍزغبٗسح رؾذ اعٌ
ٍؾذد ..
• رؼشف اىَصل٘كخ ٍِ خاله االعٌ اىزٝ ٛغْذ ىٖب ٗٝزٌ اخزٞبس اعٌ اىَصل٘كخ ٗكقب ً
ىق٘اػذ اخزٞبس اعَبء اىَزـٞشاد اىز ٜعجق ٗأُ رٌ ششؽٖب
• ٝغزخذً ٕزا االعٌ ىإلشبسح ئى ٚاىَصل٘كخ ٗىٞظ ئى ٚػْبصش اىَصل٘كخ ئر أُ
ػْبصش اىَصل٘كخ ٝزٌ االشبسح ئى ٚمو ٗاؽذ ٍْٖب ثبعزخذاً اعٌ اىَصل٘كخ ٍزج٘ػب ً
ثشقٌ ٝشٞش ئىٍ٘ ٚقغ اىؼْصش كٖٞب ..
• رغزخذً اىَصل٘كخ مجذٝو ىإلػالُ ػِ ػذد ٍِ اىَزـٞشاد اىَزشبثٖخ اىْ٘ع ,كَضالً
ثشّبٍظ ٝؾزبط ئى ٚػششح ٍزـٞشاد ٍِ ّ٘ع األػذاد اىصؾٞؾخ ,كجذالً ٍِ اإلػالُ
ػِ ػششح ٍزـٞشاد ٗثأعَبء ٍخزيلخ َٝنِ أُ رؼيِ ػِ ٕزٓ اىؼْبصش مَصل٘كخ ٍِ
ّ٘ع األػذاد اىصؾٞؾخ ,ؽغَٖب ػششح ػْبصش ٗىٖب اعٌ ٗاؽذ .
َٝ .1نِ ىيَغزخذً رؾذٝذ ؽغٌ اىَصل٘كخ ػْذ رؼشٝلٖب كقػ ( ال َٝنِ أصْبء اىزشـٞو
رؾذٝذ ؽغَٖب )
ٝ .2غت أُ رؾز٘ ٛعَٞغ اىق ٌٞػيّ٘ ٚع ٗاؽذ ٍِ اىجٞبّبد ( ال َٝنِ رخض ِٝثٞبّبد ٍِ
أّ٘اع ٍخزيلخ )
) (Typeاىْ٘ع ٕ٘ أّ٘ ٛع ٍِ أّ٘اع اىَزـٞشاد اىَقج٘ىخ ك ٜىـخ .. C++ •
) ٕ٘ (ArrayNameأ ٛاعٌ ٝزٌ اخزٞبسٓ ٍِ قجو اىَجشٍظ ػي ٚأُ ٝزجغ اىق٘اػذ •
اىَؼشٗكخ ثزغَٞخ اىَزـٞشاد ..
) (number of elementsأٗ ٍب ٝغَ ٚثبىـ ( ٕ٘ )Indexػذد اىؼْبصش اىزٜ •
رؾزٖ٘ٝب اىَصل٘كخ اىزٝ ٛغت دائَب ً أُ ٝنُ٘ ٍؾذداً ث ِٞق٘عٍ ِٞشثؼ.. [ ] ِٞ
ػْذ االػالُ ػِ اىَصل٘كخ كاُ اىَزشعٌ عٞؾغض ػذداً ٍِ اىَ٘اقغ اىَزغبٗسح كٜ •
اىزامشح غ٘ه مو ٍ٘قغ (ػذد اىجبٝزبد اىَؾذدح ىٔ ) ٝغبٗ ٛاىؾغٌ اىَؾذد ىزىل اىْ٘ع
ٗ ,غجؼب ً ّلزشض أُ ٕزٓ اىَ٘اقغ خبىٞخ ٍِ أ ٛقَٞخ أٗ سثَب ٕ ٜرؾز٘ ٛػي ٚقَٞخ
قذَٝخ ىٞظ ىٖب ػالقخ ثٖزا اىجشّبٍظ ٗٝغت رـٞٞشٕب ..
ٍضبه :
• كٕ ٜزا اىَضبه عٞزٌ رؾذٝذ خَغخ ٍ٘اقغ ٍزغبٗسح ك ٜاىزامشح ٍِ
ّ٘ع األػذاد اىصؾٞؾخ ( غ٘ه مو ٍ٘قغ 2ثبٝذ ) خبىٞخ ٍِ اىقٌٞ
ٗرؾذ ٍغَٗ ٚاؽذ ٕ٘ (ٗ (aمَب ك ٜاىشنو اىزبى: ٜ
0 1 2 3 4
a
• ٝ C++غَؼ ثاٍنبّٞخ رشك األق٘اط اىَشثؼخ كبسؿخ [] ..كٕ ٜزٓ اىؾبىخ كاُ اىَزشعٌ
عٞلشض ؽغٌ ىيَصل٘كخ ٝطبثق ػذد اىق ٌٞاىَ٘ع٘دح ث ِٞاألق٘اط اىَز٘عطخ
• ك ٜاىَضبه اىزبى ٜعٞؾذد اىَزشعٌ ػذد اىؼْبصش ثـ 3
• ٝغت أُ رَٞض ث ِٞسقٌ ٍ٘قغ اىؼْصش ٍٗؾزٕ٘ ٙزا اىَ٘قغ ,ئرا أُ اىشقٌ ثِٞ
اىق٘ع ِٞاىَشثؼ ٕ٘ ِٞدىٞو ئىٍ ٚنبُ اىؼْصش ك ٜاىَصل٘كخ ٗىٞظ أمضش ,ثَْٞب
اىَؾزَ٘ٝ ٕ٘ ٙضو اىقَٞخ اىزٝ ٜؾزٖ٘ٝب ٕزا اىَ٘قغ ..
• األٍضيخ اىزبىٞخ رَضو ثؼط اىصٞؾ اىَقج٘ىخ الثزذاء اىَصل٘كخ :
• ثبإلٍنبُ ئّشبء اىَصل٘كخ ٗرىل ثاعْبد ق ٌٞىؼْبصش اىَصل٘كخ ٍِ ى٘ؽخ اىَلبرٞؼ ػْذ
رْلٞز اىجشّبٍظ ..
ٍضبه :
البشوامج التالي لإلعالن عه
مصفىفت وإسىاد قيم لعىاصشها مه
لىحت المفاتيح أثىاء تىفيز البشوامج
• الؽظ أّْب اعزخذٍْب ؽيقخ رنشاس
ثؼذد ػْبصش ثؼذد ػْبصش
اىَصل٘كخ ٗرىل ىنٝ ٜزٌ اىَشٗس
ػي ٚعَٞغ ٍ٘اقغ اىَصل٘كخ ٗٝغْذ
ىٖب ق.. ٌٞ
• أٍب غجبػخ ػْبصش اىَصل٘كخ كززٌ ثْلظ اىطشٝقخ اىز ٜاعزخذٍْب كٖٞب ؽيقخ
اىزنشاس إلعْبد ق ٌٞىؼْبصش اىَصل٘كخ ٍغ رـٞٞش أٍش اإلخشاط ..ػي ٚأُ رْزجٔ
ئى ٚأّٔ ال َٝنْل غجبػخ أ ٛػْصش ٍِ ػْبصش اىَصل٘كخ ئرا ىٌ رغجقٔ ثؼَيٞخ
ئعْبد ىؼْبصش اىَصل٘كخ .
• ئُ ٍؾبٗىخ اىنزبثخ كٍ٘ ٜاقغ خبسط ٍذ ٙاىَصل٘كخ عٞإد ٛئىّ ٚزبئظ ؿٞش ٍز٘قؼخ
• كَضالً ٍصل٘كخ ؽغَٖب 5ػْبصش رؾذ اعٌ MyArrayكارا ؽبٗىذ ئعْبد قَٞخ مَب
ك ٜاىَضبه اىزبىٜ
ػْ٘اُ ]a[0 • ك ٜريل اىؾبىخ كاُ اىَزشعٌ
عٞغؾت ػْ٘اُ اىَ٘قغ ٝٗ 40عغ
1022
1023 ]a[0 ك ٔٞاىقَٞخ اىَؾذدح ٗاىز ٜٕ ٜسثَب
ْٕب مو ٍزـٞش
1024
كٍ ٜنبُ آخش ٍِ اىجشّبٍظ أٗ
1025
ٝغزخذً ثبٝز ِٞىزىل 1026 ]a[1 خبسط اىجشّبٍظ ٍَب عٞإد ٛئىٚ
]ٝa[3جذأ ك ٜاىجبٝذ
اىـ 6ثؼذ ثذاٝخ ]a[0
1027
1028 ]a[2 رـٞٞش ق ٌٞال ّشؿت ثزـٞٞشٕب ..
ّٗؾغت رىل ٍِ 1029
خاله ظشة اىؾغٌ 1030 ]a[3
كٍ٘ ٜقغ اىؼْصش أٛ 1031
3 *2 1032 ]a[4 الشكل المقابل يمثل مقطع مه
1033
1034 ]a[5 راكشة افتشاضي يىضح كيفيت
ال ٘ٝعذ ٍزـٞش كٜ
ٗa[6] ,ىنِ ئرا مبُ ٍزـٞش ثبعٌ stuff خزن عىاصش المصفىفت في
ْٕبك ٗاؽذ كغٞنُ٘ الزاكشة ..
ْٕب
ٍزـٞش ثبعٌ
more_stuff
ال ٘ٝعذ ٍزـٞش كٜ
ٗa[7] ,ىنِ ئرا مبُ
ْٕبك ٗاؽذ كغٞنُ٘
ْٕب
• ئُ ٍِ أمضش األخطبء اىز ٜرؾذس ٕ ٜػْذٍب رؾبٗه خضُ ػْصش كٍ٘ ٜاقغ ٍب ٗساء
ؽغٌ اىَصل٘كخ ,كَضالً ى٘ ػشكذ ٍصل٘كخ مَب ٝأرint a[6]; : ٜ
• ػْذٍب رغزخذً ٕزٓ اىَصل٘كخ كاُ دىٞو اىَصل٘كخ ٝزشاٗػ ث , ) 5 – 0 ( ِٞكارا
ؽذدد اىذىٞو ثـٞش رىل كاُ خطأ عٞؾذس ,كٍ ٜؼظٌ اىؾ٘اعٞت ال ٘ٝعذ رؾزٝش
ػْذ اعزخذاً دىٞو خبسط ؽغٌ اىَصل٘كخ ,مَضبه اكشض أّل ؽذدد قَٞخ ئىٚ
اىذىٞو اىَ٘ظؼ أدّبٓ a[7] = 255; :
• ْٕب اىؾبع٘ة عٞؼبٍو ٕزا األٍش ػي ٚأّٔ صؾٞؼ ٗعٞؾبٗه ٗظغ اىقَٞخ 255كٜ
اىؼْ٘اُ اىَْبعت ك ٜاىزامشح ٗ ,ىنِ ػْذ ؽغبة ٍ٘قغ أٗ ػْ٘اُ ٕزٓ اىقَٞخ كاّٖب
عزنُ٘ ك ٜاىؼْ٘اُ اىزٝ ٛؾ٘ ٛاىَزـٞش ) ( more_stuffؽغت اىشنو اىغبثق
ٗىزىل كاُ ٕزٓ اىقَٞخ اىخبصخ ثبىَزـٞش ) ( more_stuffع٘ف رزـٞش ثشنو ؿٞش
ٍقص٘د ..
اى٘ص٘ه ئى ٚػْبصش اىَصل٘كخ
• ػْذ مزبثخ ثشّبٍظ ٝؾز٘ ٛػيٍ ٚصل٘كخ كاُ ثاٍنبّل اى٘ص٘ه ئى ٚأ ٛػْصش ٍِ
ػْبصش اىَصل٘كخ ثشنو ٍْلشد ٗك ٜأٍ ٛنبُ ٍِ اىجشّبٍظ ٗرزؼبٍو ٍغ ٕزا
اىؼْصش مَب رزؼبٍو ٍغ أٍ ٛزـٞش ػبد ٍِ ٛؽٞش اىقشاءح ٗاىزـٞٞش ..
• كَضالً َٝنِ ئعْبد اىقَٞخ 45ئى ٚاىؼْصش اىضبّ ٜك ٜاىَصل٘كخ aكغٞزٌ رىل مَب ٝأر: ٜ
• ;a[2] = 45
• مَب َٝنْل أُ رَشس ٕزٓ اىقَٞخ ئىٍ ٚزـٞش آخش اػزٞبدٍ ٛضالً )ٗ (xمَب ٝأر: ٜ
;]ٗ x = a[2ػي ٔٞكاُ اىَزـٞش ( )xعزنُ٘ قَٞزٔ ٍغبٗٝخ ئى45 ٚ
ٍالؽظبد :
• ئرا ىٌ ٝزٌ ٍغبٗاح ػذد ػْبصش اىَصل٘كخ خبسعٞب ً ػْذ اثزذاء اىَصل٘كخ مأُ ٝنُ٘ ػذد
اىق ٌٞاىَغْذح ٗاىَؾذدح ث ِٞاىق٘ع ِٞاىَز٘عط ٕ٘ ِٞأقو ٍِ اىؼذد اىزٝ ٛؾذد ؽغٌ
اىَصل٘كخ ,كلٕ ٜزٓ اىؾبىخ ,كاُ اىق ٌٞعزغْذ ئى ٚاىؼْبصش اىَقبثيخ ىٖب أٍب ثبقٜ
اىؼْبصش عزغْذ ىٖب اىق ٌٞاالكزشاظٞخ ٕٗ ٜصلش ..
ٍضبه :
• بشوامج لقشاءة
مصفىفت أعذاد
صحيحت أحاديت
حجمها 10عىاصش
وإيجاد العذد األكبش
في المصفىفت ..
ٍضبه (:)2
• بشوامج لقشاءة
مجمىعت مه
األسقام وتشتيب
األسقام تشتيب
تصاعذي
ٍصل٘كبد األؽشف Character Array
• اىغالعو اىشٍضٝخ ٕ ٜعيغيخ ٍِ اىؾشٗف ,اىغالعو اى٘ؽٞذح اىز ٜرٌ سؤٝزٖب ىـبٝخ اُٟ
ٕ ٜاىغالعو اىشٍضٝخ اىضبثزخ ؿٞش اىَغَبح ٗاىز ٜرغزخذً ٍغ ػجبساد )<< ٍ (coutضو
;"cout << "hello world.\n
• ك ٜىـخ C++كاُ اىغالعو اىشٍضٝخ ٕ ٜػجبسح ػِ ٍصل٘كخ ىألؽشف رْزٖ ٜثبىؾشف
() (nullؽشف اىْٖبئٞخ) ؽٞش َٝضو ّٖبٝخ اىغيغيخ اىشٍضٝخ ,ثبإلٍنبُ أُ رؼيِ ٗرجزذأ
اىغالعو اىشٍضٝخ مَب رلؼو ثبىعجػ ٍغ ٍصل٘كبد اىجٞبّبد ٍِ األػذاد اىصؾٞؾخ
ٗاىؾقٞقخ ٍ ,ضبه :
• عٞزٌ ئعْبد األؽشف ىنو ٍ٘قغ كٍ ٜصل٘كخ األؽشف مَب ٝأر: ٜ
الؽظ ٍذخالد ٍٗخشعبد اىجشّبٍظ ( ٗاىزٝ ٛغت أُ رزأمذ ثؼذً ٗظغ أؽشف أمضش ٍِ
اىؾغٌ اىَؾذد ) ؽٞش أُ اىَصل٘كخ ٍؼشكخ ثؾغٌ ( ) 80ؽشف أ ٛثبإلٍنبُ أُ رعغ
( )79ؽشف ألُ اىؾشف األخٞش َٝضو ؽشف اىْٖبٝخ ٗ ,ىنِ ٍِ اىَالؽظ ْٕب ٗع٘د
ٍشنيزَٕ ِٞب :
أوالً ٝ :غت أُ رزأمذ ثؼذً ئدخبه أمضش ٍِ ( )79ؽشف ألُ رىل عٞإد ٛئىٗ ٚظغ قٌٞ
خبسط ٍذ ٙاىَصل٘كخ ..
ثاويا ً :ئرا ٍب قَذ ثادخبه كشاؽ كاُ اىَزشعٌ عٞزشعَٔ ػي ٚأّٔ ّٖبٝخ اىغيغيخ ٗٝز٘قق
ػِ ئعْبد األؽشف اىزبىٞخ ىيلشاؽ ئى ٚاىَزـٞش اىشٍض )buffer( ٛمَب كّ ٜبرظ اىجشّبٍظ ..
ىؾو ٕبر ِٞاىَشنيز ِٞػيٞل اعزذػبء داىخ خبصخ ٕٕ ) cin.get() ) ٜزٓ اىذاىخ رأخز
صالصخ ٗعبئػ :
اىَزـٞش اىزٝ ٛغت ٗظغ اىؾشٗف ثٔ ..
اىؾذ األقص ٚىؼذد اىؾشٗف اى٘اعت ٗظؼٖب
ئشبسح اىْٖبٝخ ( ئشبسح اىْٖبٝخ االكزشاظٞخ ٕ ٜعطش عذٝذ )
ٍضبه (: )2
• البشوامج لقشاءة وطباعت مصفىفت مه األحشف باستخذام )(cin.get
ك ٜاىجشّبٍظ رٌ اعزخذاً األٍش ))(ٍ )cin.getغ اىَزـٞشاد اىزبىٞخ ٕ٘ٗ )buffer) ,
اىَزـٞش اىز ٛعزعغ ك ٔٞاىغيغيخ اىشٍضٝخ ( غجؼب ً ٕ٘ ٍصل٘كخ ٍِ األؽشف ) ٗاىشقٌ
(ٗ )79اىزَٝ ٛضو اىؾذ األػي ٚىيؾشٗف ك ٜاىغيغيخ اىشٍضٝخ ٗ ,ىٌ ٝزمش اى٘عٞػ
اىضبىش ؽٞش عٞلشظٔ اىَزشعٌ ( عطش عذٝذ ٕ New line) ,زا اإلٝؼبص عٞغَؼ
ثاعْبد ؽشٗف ئى ٚاىَزـٞش ) (bufferىـبٝخ ( )79أٗ ىـبٝخ ئدخبه عطش عذٝذ ٗ ..كٜ
ٕزٓ اىؾبىخ كاُ ؽشف اىْٖبٝخ عٞزٌ ٗظؼٔ كّٖ ٜبٝخ اىغيغيخ ػْذٍب رذخو ( )79ؽشف
أٍب ك ٜاىَضبه اىغبثق كال ؽبعخ ىز٘كٞش ؽشف اىْٖبٝخ ٗرىل ألُ اىقَٞخ االكزشاظٞخ (
عطش عذٝذ ) عزنُ٘ ملبٝخ ..
ػْذٍب ٝزٌ اإلػالُ ػِ اىَصل٘كخ ,كاّل رخجش اىَزشعٌ ػِ ػذد اىنٞبّبد اىَلشٗض
خضّٖب ك ٜاىزامشح ثبىعجػ ..اىَزشعٌ عٞؾغض رامشح ىنو ٕزٓ اىنٞبّبد ,ؽزٗ ٚئُ ىٌ
رغزخذٍٖب ٕ ,زٓ ىٞغذ ٍشنيخ مجٞشح ٍغ اىَصل٘كبد غبىَب رنُ٘ ىذٝل كنشح عٞذح ػِ
ػذد اىنٞبّبد اىز ٜرؾزبعٖب ..اىَشنيخ رنَِ ػْذٍب ال رنُ٘ ىذٝل كنشح ػِ ػذد
اىنٞبّبد اىز ٜرؾزبعٖب ,كٕ ٜزٓ اىؾبىخ ٍِ اىَلشٗض اعزخذاً ٕٞبمو ثٞبّبد أمضش
رقذٍب ً ٍ ,ضو ٍصل٘كخ اىَإششاد ( ٍٕٗ ٜصل٘كخ رجْ ٚثطشٝقخ اىخضُ اىؾش ) ٗ ,اىزٜ
عْششؽٖب ك ٜكصو اىَإششاد ..
ٍضبه (: )3
بشوامج إليجاد مجمىع عىاصش
مصفىفت أحاديت