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
{ 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 batean elementu bat nola ezabatzen den ulertuz gero, erraza da ulertzea array batean elementu berri bat nola txertatzen den (ikusi 10. astea | txertaketa array batean irudia eta azalpena).
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.