-->
|
|
|
§ 8. Ñòðóêòóðèðîâàííûå òèïû äàííûõ. Ìàññèâû Ïîóðî÷íûå ïëàíû, èíòåðàêòèâÏðîâåðêà ñîîòâåòñòâèÿ ýëåìåíòîâ ìàññèâà íåêîòîðîìó óñëîâèþ
Çà÷àñòóþ áûâàåò âàæíî âûÿñíèòü, ñêîëüêî ýëåìåíòîâ, îáëàäàþùèõ îïðåäåë¸ííûì ñâîéñòâîì, ñîäåðæèòñÿ â ìàññèâå. Äëÿ ðåøåíèÿ ýòîé çàäà÷è ñëåäóåò: 1) ïðèñâîèòü íóëåâîå çíà÷åíèå ïåðåìåííîé, ââåä¸ííîé äëÿ ïîäñ÷¸òà êîëè÷åñòâà ýëåìåíòîâ, óäîâëåòâîðÿþùèõ çàäàííîìó óñëîâèþ (k := 0); 2) îðãàíèçîâàòü ïðîñìîòð âñåõ ýëåìåíòîâ ìàññèâà: åñëè ïðîñìàòðèâàåìûé ýëåìåíò óäîâëåòâîðÿåò çàäàííîìó óñëîâèþ, çíà÷åíèå ïåðåìåííîé k óâåëè÷èâàòü íà 1. Ôðàãìåíò ïðîãðàììû ïîäñ÷¸òà êîëè÷åñòâà ýëåìåíòîâ ìàññèâà, íàïðèìåð áîëüøèõ íåêîòîðîãî ÷èñëà ð, èìååò âèä:
Êàê ìîäèôèöèðîâàòü ïðîãðàììó, ÷òîáû ìîæíî áûëî âû÷èñëèòü ñóììó ýëåìåíòîâ ìàññèâà, ááëüøèõ íåêîòîðîãî ÷èñëà ð?
Äëÿ òîãî ÷òîáû óñòàíîâèòü ôàêò ñîîòâåòñòâèÿ âñåõ ýëåìåíòîâ ìàññèâà íåêîòîðîìó óñëîâèþ, äîñòàòî÷íî: 1) ïîäñ÷èòàòü êîëè÷åñòâî ýëåìåíòîâ ìàññèâà, ñîîòâåòñòâóþùèõ çàäàííîìó óñëîâèþ; 2) ñðàâíèòü íàéäåííîå êîëè÷åñòâî ñ îáùèì ÷èñëîì ýëåìåíòîâ ìàññèâà è âûâåñòè ñîîòâåòñòâóþùèé ðåçóëüòàò.
Ðàññìîòðèì àëãîðèòì, ïîçâîëÿþùèé îïðåäåëèòü, óïîðÿäî÷åíû ëè ýëåìåíòû ìàññèâà à[1..n] ïî íåóáûâàíèþ, ò. å. êàæäûé ýëåìåíò ìàññèâà ñ 1-ãî ïî (n - 1)-é íå áîëüøå ïîñëåäóþùåãî. Ñàìûé ïðîñòîé ïóòü ðåøåíèÿ ýòîé çàäà÷è — ïðîâåðèòü, åñòü ëè â ìàññèâå òàêèå ïàðû ýëåìåíòîâ, ÷òî a[i] > a[i + 1]. Åñëè ïîäîáíûå ïàðû ýëåìåíòîâ åñòü, òî ìàññèâ íå óïîðÿäî÷åí ïî íåóáûâàíèþ, à åñëè òàêèõ ïàð íåò, òî óïîðÿäî÷åí.  ïðîãðàììå áóäåì èñïîëüçîâàòü ëîãè÷åñêóþ ïåðåìåííóþ flag:
Íèæå ïðåäñòàâëåí ôðàãìåíò ïðîãðàììû, ðåàëèçóþùåé ýòîò àëãîðèòì:
Êàê ìîæíî ðåøèòü ýòó æå çàäà÷ó ïóò¸ì ïîäñ÷¸òà êîëè÷åñòâà ïàð ýëåìåíòîâ ìàññèâà, òàêèõ ÷òî a[i] > a[i + 1] (à[i] <= à[i + 1])?
|
|
|