Форум » Массивы, сортировка, работа с файлами » [C2] Чуркина » Ответить

[C2] Чуркина

1ро4ка_двадва88: Задан массив из 30 элементов. Элементы могут принимать значания от 1 до 1000. Нужно написать программу поиска суммы элементов самой длинной последовательности подряд идущих четных элементов массива. Если таких последовательностей нет, вывести на экран сообщение. Если последовательностей несколько, можно посчитать любую из них. Мое решение: [pre2]program massiv; const N=30; var M:array[1..N] of integer; i,k,s,kmax,reserve:integer; begin k:=0; s:=0; kmax:=0; for i:=1 to N do readln(M); for i:=1 to N do begin if M mod 2=0 then begin k:=k+1; s:=s+M; end else begin k:=0; s:=0; end; if k>kmax then begin kmax:=k; reserve:=s; end; end; if reserve=0 then writeln(последовательностей нет) else writeln(reserve); end.[/pre2]

Ответов - 5

1ро4ка_двадва88: Все вроде правильно? Или есть ошибки?

1ро4ка_двадва88: Кстати, если писать программы на паскале, обязательно ли указывать версию?

oval: решение правильное если между [ и i поставить пробел, то будет вообще все идеально выглядеть, а так потеряны все индексы у массива, но зато есть курсив Я думаю надо указывать, конечно зависит от задачи, но например число больше 32768 в TP в тип integer не поместится (2 байта), а в ABC паскале легко (4 байта), в ТР строка ограничена 256 символами, а в АВС нет, и т.п. если используются какие-то нюансы версии паскаля, то указать эту версию надо


1ро4ка_двадва88: oval пишет: число больше 32768 oval пишет: ТР строка ограничена 256 символами разве на таких тонкостях стали бы ловить в Ц2?

oval: Все написано в критериях оценивания, просят же указать версию зачем-то



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