Căutarea elementului maxim (minim) în matrice și non sale - studopediya

Având în vedere o matrice X, care constă din n elemente. Găsiți elementul maxim (minim) din matrice și numărul sub care este stocat într-o matrice.

Algoritmul de rezolvare a problemei este după cum urmează. Să presupunem că într-o variabilă numită Max (Min) valoarea stocată de maxim (minim) a elementului matrice, și într-o variabila numita Nmax (Nmin) - numărul. Să presupunem că primul element al șirului este maxim (minim), și scrie în variabila Max (Min), și Nmax (Nmin) - numărul lui este listat, adică - „1“. Apoi, toate elementele din al doilea, pentru a compara ciclul cu valoarea maximă (minim). Dacă elementul curent din matrice este mai mare decât maximul (minim), apoi scrie în variabila Max (Min), și o Nmax variabilă (Nmin) - valoarea curentă a indicelui i.

Procesul de determinare a elementului maxim din matrice este prezentată în tabelul 1 și ilustrat utilizând diagrama din Fig. 7.

Algoritmul de căutare elementul minim în matrice vor fi diferite de cele de mai sus doar prin faptul că modificările condiționate semn bloc de la> to <.

Tabelul 1. Determinarea elementului maxim și numărul său în matrice

Fig. 7. Găsiți elementul maxim în matrice și camerele sale.

Când programarea algoritm pentru a găsi maxim (minim) în matrice în funcție de formularea de scheme de căutare diferite pot fi utilizate sarcină (căutarea pentru cel mai mic sau mai mare element dintre toate elementele de matrice, sau căutați printre părțile elementelor de matrice care îndeplinesc anumite condiții; căutare cu camera de depozitare element sau fără). În același timp grijă trebuie să fie luate în ceea ce privește utilizarea variabilelor, acumularea de informații cu privire la minim (maxim), precum și atribuirea valorilor inițiale ale acestor variabile înainte de a ciclului de căutare.

Dacă este necesar căutarea maximă (scăzut) coroborat cu condiția de selecție, valoarea primului element satisface condiția nu este cunoscută. În acest sens, variabila care va „acumula“, cel puțin, atribui o valoare + ¥, care este definit de valoare, în mod evident, mai mult decât oricare dintre elementele de matrice care îndeplinesc o condiție dată. Diagrama bloc este permis să scrie acest semn (sau - pentru maxim ¥), dar în program în loc de + sau ¥ - ¥ Trebuie să specificați un anumit număr, care poate fi adesea determinată de formularea problemei. De exemplu, în cazul dat o serie de salarii ale angajaților unor instituții și necesitatea de a găsi cel mai mare salariu, este clar că pentru - ¥ pot lua, să zicem, -1.

În cazul în care problema cu condiția de minimum o are, de asemenea, pentru a determina în cazul în care acest lucru este minim, va trebui să facă o altă variabilă pentru numărul elementului minim. După cum este necesar să se precizeze valoarea inițială a unei valori care este mai mică decât indicele matrice inițială (dacă elementele de matrice sunt numerotate cu - valoarea inițială a numărului minim element poate fi zero).

Fragment elementul minim array program de căutare fără condiția (1) și condiția (2).

Fragment 1 fragment 2

max: = x [1]; max: = -32,765;

nmax = 1; nmax = 0;

pentru i: = 2 la n do pentru i: = 1 la n do

dacă max <= x[i] if max <= x[i] and x[i] = «хороший»

apoi începe apoi începe

max: = x [i]; max: = x [i];

nmax = i; nmax = i;

„Bine“ înseamnă că elementul satisface problema.