2024(e)ko martxoaren 19(a), asteartea

Ezabaketa array batean

Array batean elementu bakar bat ezabatzen duen 06_Ezabaketa.pas programa aurrean duzula, hurrengo irudia azter ezazu. Lagungarria izan daitekeelakoan, hitzezko azalpena ArrayAlgoritmoak_4 [4 minutu 46 segundo] bideo honetan ikus dezakezu.

Irudian zenbaki errealen arNotak array bat daukagu, bere luzera efektiboa iLuzera aldagaiak adierazten du eta 5 balio du. Demagun 2 posizioan dagoen 17.1 balioa arraytik kendu nahi dugula, hots, arrayaren bigarren elementua ezabatu nahi dugula. Azkenean, noski, iLuzera aldagaiaren edukia 4 izango da.

Irudia handiago ikusteko bere gainean klik egin

Programa nagusiak hiru parametro pasatzen dizkio funtzioari, lehenengo biak sarrera/irteerakoak eta azkena sarrerakoa. FOR-TO-DO kontrol-egiturari esker hiru iterazi emango dira adibide honetan: 
  1. iterazioan: iIndizea=2 delako 17.1 datua zapalduta geratuko da, izan ere arNotak[2] posizioan arNotak[3] balioa kopiatzen delako eta 72.9 datua bikoiztuta geratzen da
  2. iterazioan: iIndizea=3 delako 72.9 datua zapalduta geratuko da, izan ere arNotak[3] posizioan arNotak[4] balioa kopiatzen delako eta 56.8 datua bikoiztuta geratzen da
  3. iterazioan: iIndizea=4 delako 56.8 datua zapalduta geratuko da, izan ere arNotak[4] posizioan arNotak[5] balioa kopiatzen delako eta 66.6 datua bikoiztuta geratzen da
Adibide honetan 3. iterazioarekin bukatzen da prozesu errepikakorra, eta ezabaketa benetan gauzatzeko arrayaren luzera dekrementatu beharra dago: arrayaren luzera efektiboa 4 izan dadila, horregatik iLuzera:=4 jarri behar da (bigarren parametroa irteerakoa izatearen arrazoia hauxe da).

Array batean elementu bat nola ezabatzen den ulertuz gero, erraza da ulertzea array batean elementu berri bat nola txertatzen den (ikusi Txertaketa array batean irudia eta azalpena).



Eta arrayaren elementu bat baino gehiago ezabatu behar baditugu?

Arrayaren elementu bat baino gehiago ezabatu behar baditugu bi aukera ditugu:

  1. Goiko algoritmoa hainbat aldiz errepikatzea (08a_HainbatEzabaketa.pas programa).
  2. Array laguntzaile bat erabiltzea (08b_HainbatEzabaketa.pas programa). Adibidez, balio txikiak array batetik kendu: Datuak ez dira ezabatuko; horren ordez, datu onargarriekin (ezabatuko ez direnekin) array berri bat sortuko da. Ikusi Hainbat ezabaketa array batean artikulua, non elementu txikiak array batetik kenduko diren.
 

iruzkinik ez:

Argitaratu iruzkina

Iruzkinen bat idazteko Google-ko kontu bat behar duzu. Iruzkin guztien moderazio-ardura blogeko administratzaileari dagokio.