Regatul Delphi

Lucrul cu măști în Delphi

Am fost foarte surprins când am fost rugați să spunem despre matrice și sortarea lor în Delphi. Dar, din moment ce cererea a fost făcută și site-ul nostru este destinat să ajute la stăpânirea Delphi, am decis să scriu acest articol, în care vă voi spune despre posibile acțiuni cu arrays în Delphi. În acest scop, vom scrie câteva funcții personalizate care ne vor ajuta în viitor, când vom lucra cu matrice.

Pentru a lucra cu matricea, trebuie obținută mai întâi de la utilizator. Să încercăm să introducem o matrice unidimensională într-un singur câmp de editare. Fiecare element al matricei va fi separat de cel precedent printr-un separator. După ce faceți clic pe buton, programul va selecta primul substring din șirul care conține matricea, apoi va selecta al doilea subcron, etc.

Să facem asta acum. Puneți butonul pe formularul dvs. și apoi Editați.

Titlul funcției noastre va fi:

st este un șir care conține o matrice
- separator explodat
n este numărul subcotului

Pentru n-lea substring (element de matrice) de primit ca o funcție șir argument înlătură mai întâi s anterior n-1 substringul (Ciclul de), apoi gaseste delimitatorul care denotă sfârșitul subșiruri dorite alocă substring și returnează ca valoarea funcției ( prin numele său).

Nu uitați să adăugați titlul funcției noastre la secțiunea Public a modulului de program.

Acum, pentru a testa funcționarea funcției noastre, vom scrie un handler de evenimente pentru evenimentul OnClick, pentru butonul nostru. La început, folosind funcția noastră, obținem o matrice din Edit1 și apoi ieșim:

Găsirea elementului minim (maxim) al matricei

Vom căuta elementul minim într-o matrice integeră. Pentru a face acest lucru, schimbați ușor butonul pentru evenimentul OnClick pentru buton:

În acest exemplu, un [min] este elementul minim al matricei, iar min este numărul elementului minim. Algoritmul este foarte simplu: comparați fiecare element următor cu un minim, dacă este mai mic decât minimul, apoi amintiți-i numărul său în variabila min. și continuăm să comparăm deja cu el.

Pentru a găsi elementul maxim, trebuie să modificați o singură linie:

Este necesară înlocuirea cu:

Numai acum [min] este elementul maxim, iar min este numărul elementului maxim.

Căutați un element dat într-un matrice

Continuăm printr-o căutare simplă. Pentru a face acest lucru, vom trece prin toate elementele matricei până când vom întâlni elementul necesar sau până când vom ajunge la sfârșitul matricei.

Elementul pe care dorim să-l găsim este stocat în câmpul text Edit2. Funcționatorul de eveniment OnClick pentru butonul nostru va arăta astfel:

Așa că am ajuns la cele mai interesante - înainte de a sorta matricea. Luați în considerare așa-numitul algoritm. alegerea directă. Sensul său este după cum urmează:

Privind prin matricea de la primul element, găsim elementul minim și îl plasăm în locul primului element și primul element în locul elementului minim.

Apoi vom scana matricea începând cu al doilea element și apoi vom continua așa cum am făcut înainte de acest pas.

Algoritmul este clar, acum să începem să scriem codul. Același handler de evenimente OnClick are acum acest formular:

Articole similare