![]() Главная страница Случайная лекция ![]() Мы поможем в написании ваших работ! Порталы: БиологияВойнаГеографияИнформатикаИскусствоИсторияКультураЛингвистикаМатематикаМедицинаОхрана трудаПолитикаПравоПсихологияРелигияТехникаФизикаФилософияЭкономика ![]() Мы поможем в написании ваших работ! |
Фрагмент программы, реализующий подход №2Begin for j:=1 to k do if(I ³ J) AND (I+j £ k+1) then if max>a[I,J] then max:=a[I,J]; end; writeln(‘Максимум элементов заштрихованной области =‘,max);
верхний: строки от 1 до K div 2+1, столбцы от 1 до I-го нижний: строки от K div 2+2, столбцы от 1 до K+1-I -го Это и будут параметры вложенных циклов, перебирающих соответствующие элементы. При этом внутри циклов должна выполняться только проверка на максимум. max:=a[1,1];{начальное значение max=a[1,1], т.к. этот элемент принадлежит области} for i:=1 to k div 2 + 1 do {для каждой строки верхнего треугольника} for j:=1 to I do if max>a[I,J] then max:=a[I,J]; end; for i:=1 to k div 2 + 2 do {для каждой строки нижнего треугольника} for j:=1 to k+1-I do if max>a[I,J] then max:=a[I,J]; end; writeln(‘Максимум элементов заштрихованной области =‘,max); Для каждого элемента матрицы делать проверку на принадлежность заштрихованной части. Если проверка дает значение истина, то если сумма цифр четная, то сравнивать элемент с максимумом. Вспомним, что для максимума нужно задать начальное значение. Теперь мы не знаем, где в заштрихованной области расположен элемент с четной суммой цифр и есть ли он там вообще. Поэтому введем переменную-флажок, которая будет сохранять значение True, пока не найден первый элемент, удовлетворяющий условию, а после его обнаружения будет менять значение на False. Именно этот элемент и будет начальным значение максимума.
Дата добавления: 2014-03-11; просмотров: 322; Нарушение авторских прав ![]() Мы поможем в написании ваших работ! |