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