Форум » Массивы, сортировка, работа с файлами » Можно ли решить задачи №33 и №36 таким способом... » Ответить

Можно ли решить задачи №33 и №36 таким способом...

Marishka: не снизят ли баллы? 33) const N=70; var a: array [1..N] of integer; i, j, m: integer; begin for j:=1 to N do readln(a[j]); for j:=1 to N do if (a[j]>0) and (a[j] mod 2=1) then m:=a[j]; {тут находим последний положительный, нечетный элемент массива. в принципе не имеет значения какой мы найдем, лишь бы он был >0 и нечетный. можно найти например первый, добавив команду break} for j:=1 to N do if (a[j]>0) and (a[j] mod 2=1) and (a[j]<m) then m:=a[j]; write (m); end. решение 36 аналогичное const N=70; var a: array [1..N] of integer; i, j, x, y: integer; begin for j:=1 to N do readln(a[j]); for j:=1 to N-1 do if (a[j]+a[j+1]) mod 2 = 1 then x:=a[j]+a[j+1]; for j:=1 to N-1 do if ((a[j]+a[j+1]) mod 2 = 1) and (a[j]+a[j+1]<x) then x:=a[j]+a[j+1]; write (x); end.

Ответов - 5

Поляков: Marishka пишет: не снизят ли баллы? С формальной точки зрения это зависит от критериев, которые будут выданы экспертам. Но двойной проход по массиву вместо одного, в принципе, можно считать неэффективным решением.

Marishka: Поляков Спасибо за ответ!

ЕленаТокарева: Записать в переменную м значение последнего нечетного числа из диапазона целых чисел(32767) и проверить положительность нечетность и сравнение


Поляков: ЕленаТокарева пишет: Записать в переменную м значение последнего нечетного числа из диапазона целых чисел(32767) и проверить положительность нечетность и сравнение Не советую так делать. Диапазон целых чисел может быть разный. Например, в большинстве современных систем целое число занимает 4 байта.

SergJP: В Паскале для этого есть константа MAXINT. Попробуйте у себя выполнить такую программку begin writeln(MAXINT); end.



полная версия страницы