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:
- 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
- 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
- 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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | { 06_Ezabaketa.pas } procedure Ezabaketa( var arNotak: tarZerrenda; var iLuzera: integer ; iNon: integer ); var iIndizea: integer ; begin for iIndizea:=iNon to iLuzera- 1 do begin arNotak[iIndizea] := arNotak[iIndizea+ 1 ]; end ; iLuzera := iLuzera - 1 ; end ; |
Array bateko elementu bat ezabatzeko algoritmoa ulertuz gero, erraza da ulertzea array batean elementu bakar berri bat nola sar daitekeen (ikusi 10. astea | 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:
- Goiko algoritmoa hainbat aldiz errepikatzea (08a_HainbatEzabaketa.pas programa).
- 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 10. astea | 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.