Претраживање¶
У операцијама претраживања обично желимо да нађемо редни број оног елемента серије, који испуњава неки дати услов. Када има више елемената који испуњавају услов, најчешће тражимо позицију првог или последњег таквог елемента.
Пример - последњи позитиван број
За n датих целих бројева исписати редни број последњег позитивног међу њима. Ако позитивних бројева нема у серији, исписати -1.
Решење:
Пример - први позитиван број
За n датих целих бројева исписати редни број првог позитивног међу њима. Ако позитивних бројева нема у серији, исписати -1.
Решење:
Приметимо да смо при тражењу последњег позитивног броја морали да прочитамо и проверимо све податке (то је једини исправан начин), док при тражењу првог позитивног броја, кад нађемо један позитиван можемо и да искочимо из петље наредбом break. Такво решење смо видели у примеру „Прва негативна температура” у лекцији о наредби break.
Провера да ли сви елементи серије испуњавају дати услов (или бар један елемент испуњава супротан услов) се може схватити као врста претраживања.
Када проверавамо да ли сви елементи серије испуњавају дати услов, ми у ствари тражимо први елемент који не испуњава услов (тј. испуњава супротан услов). Ако такав елемент не нађемо, то значи да сви елементи испуњавају дати услов, а ако га нађемо, значи да услов не испуњавају сви елементи.
Пример - да ли су сви бројеви позитивни
Дато је n целих бројева. Исписати da ако су сви ти бројеви позитивни, а ne ако је бар један нула или негативан.
Решење:
У наставку се налазе задаци за вежбање операције претраге.