Автор | Сообщение |
|
Отправлено: 09.05.13 09:31. Заголовок: Можно ли решить задачи №33 и №36 таким способом...
не снизят ли баллы? 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
[только новые]
|
|
|
| Администратор
|
Сообщение: 557
|
|
Отправлено: 09.05.13 12:11. Заголовок: Marishka пишет: не с..
Marishka пишет: С формальной точки зрения это зависит от критериев, которые будут выданы экспертам. Но двойной проход по массиву вместо одного, в принципе, можно считать неэффективным решением.
|
|
|
|
Отправлено: 21.05.13 15:17. Заголовок: Поляков Спасибо за о..
Поляков Спасибо за ответ!
|
|
|
|
Отправлено: 29.11.14 06:31. Заголовок: А можно ли так?
Записать в переменную м значение последнего нечетного числа из диапазона целых чисел(32767) и проверить положительность нечетность и сравнение
|
|
|
|
| Администратор
|
Сообщение: 719
|
|
Отправлено: 29.11.14 06:36. Заголовок: ЕленаТокарева пишет:..
ЕленаТокарева пишет: цитата: | Записать в переменную м значение последнего нечетного числа из диапазона целых чисел(32767) и проверить положительность нечетность и сравнение |
|
Не советую так делать. Диапазон целых чисел может быть разный. Например, в большинстве современных систем целое число занимает 4 байта.
|
|
|
|
Отправлено: 17.02.15 10:25. Заголовок: В Паскале для этого ..
В Паскале для этого есть константа MAXINT. Попробуйте у себя выполнить такую программку begin writeln(MAXINT); end.
|
|
|
|