Äàíà ìàòðèöà NõÌ, ñîñòîÿùàÿ èç íàòóðàëüíûõ ÷èñåë. Íàéòè â íåé íàèìåíüøèé ýëåìåíò è îïðåäåëèòü åãî ìåñòîïîëîæåíèå. Åñëè òàêèõ ýëåìåíòîâ íåñêîëüêî, òî âûâåñòè íà ýêðàí ïîëîæåíèå êàæäîãî èç íèõ.
Çàäà÷ó ìîæíî ðåøèòü çà îäèí ïðîñìîòð ìàòðèöû. Íî â ýòîì ñëó÷àå íåîáõîäèìî ââåñòè âñïîìîãàòåëüíûé äâóìåðíûé ìàññèâ, â êîòîðûé çàíîñÿòñÿ çíà÷åíèÿ ñòðîê è ñòîëáöîâ ìèíèìàëüíûõ ýëåìåíòîâ.
PROGRAM PG5_1A;
CONST T= 100;
S = 100;
VAR A : ARRAY[1..T, 1..S] OF INTEGER;
 : ARRAY[1..T*S, 1..2] OF INTEGER;
N, M, IM, JM, I, J, MIN, Ê : INTEGER;
BEGIN
WRITE('BBEÄÈTE ÊÎËÈ×ÅÑÒÂÎ ÑÒÐÎÊ N = ');
READLN(N);
WRITE('BBEÄÈTE ÊÎËÈ×ÅÑÒÂÎ ÑÒÎËÁÖÎÂ Ì = ');
READLN(M);
FOR I := 1 TO N DO
BEGIN
WRITELN('BBÅÄÈÒE ', M, ' ×ÈÑÅË');
FOR J := 1 TO M DO
READ(A[I, J])
END;
MIN := A[1, 1];
Ê := 0;
FOR I := 1 TO N DO
FOR J := 1 TO M DO
IF MIN>A[I, J] THEN
BEGIN
Ê := 1;
B[1, 1] := I;
B[1, 2] := J;
MIN := A[l, J]
END ELSE
IF MIN = A[l, J] THEN
BEGIN
K:=K+1;
B[K, 1] := I;
B[K, 2] := J
END;
IF Ê = 1 THEN BEGIN
WRITELN('EÄÈHHCTBEHHÛÉ ÌÈÍÈÌÓÌ MIN = ', MIN);
WRITELN('CTPOKA ', IM, ' ÑÒÎËÁÅÖ ', JM)
END ELSE
BEGIN
WRITELN('B ÌÀÒÐÈÖÅ', Ê, 'ÌÈÍÈÌÓÌÎÂ MIN =', MIN);
FOR I := 1 TO Ê DO
WRITELN('CTPOKA', B[l, 1], 'ÑÒÎËÁÅÖ', B[l, 2])
END
END.
Äëÿ ðåøåíèÿ çàäà÷è:
- ôîðìèðóåì òåëî ïðîãðàììû è îïèñûâàåì ïåðåìåííûå;
- ââîäèì ðàçìåðû ìàññèâà À è çíà÷åíèÿ åãî ýëåìåíòîâ;
- ïðîñìàòðèâàåì ýëåìåíòû ìàññèâà, èùåì ìèíèìàëüíîå çíà÷åíèå è çàïîìèíàåì çíà÷åíèå èíäåêñîâ â âñïîìîãàòåëüíîì ìàññèâå Â;
- ñ÷èòàåì êîëè÷åñòâî ìèíèìàëüíûõ ýëåìåíòîâ;
- â çàâèñèìîñòè îò Ê ëèáî âûâîäèì èíôîðìàöèþ î åäèíñòâåííîì ìèíèìàëüíîì ýëåìåíòå, ëèáî îðãàíèçóåì âûâîä èíôîðìàöèè î âñåõ ìèíèìàëüíûõ ýëåìåíòàõ èç ìàññèâà Â.
Ïåðåìåííûå:
À - äâóìåðíûé ìàññèâ;
 - âñïîìîãàòåëüíûé ìàññèâ;
N, Ì - êîëè÷åñòâî ñòðîê è ñòîëáöîâ ìàññèâà;
I, J - ïåðåìåííûå öèêëà;
Ê - êîëè÷åñòâî ìèíèìàëüíûõ ýëåìåíòîâ;
IM, JM - ñòðîêà è ñòîëáåö ìèíèìàëüíîãî ýëåìåíòà;
MIN - òåêóùèé ìèíèìóì.
|