1) program exec;
var a:array[1..20] of integer;
var p,i:integer;
begin
randomize;
for i:=1 to 20 do begin
a[i]:=random(50);
writeln (a[i]);
if (a[i] mod 2<>0) then p:=p+1;
end;
if (p>0) then writeln ('Присутствуют нечётные элементы')
else writeln ('Не присутствуют нечётные элементы');
end.
2) program exec;
var a:array[1..20] of integer;
var p,i:integer;
begin
randomize;
for i:=1 to 20 do begin
a[i]:=random(50);
writeln (a[i]);
if (a[i] mod 2=0) then a[i]:=a[i]+1
else a[i]:=a[i]*2;
end;
writeln ('---'); // разделение двух массивов
for i:=1 to 20 do writeln (a[i]);
end.
Проходим по строке, запоминая текущий символ и сколько раз он уже повторился. Если следующий символ такой же, то просто увеличиваем длину серии на 1, если нет - выводим информацию про серию и начинаем новую. Надо не забыть корректно обработать последний символ - после него серия также заканчивается.
Код (Python 3):
s = input()
current_digit, count = None, 0
for digit in s:
if current_digit != digit:
if count > 0:
print(count, current_digit)
current_digit, count = digit, 1
else:
count += 1
print(count, current_digit)
5_6=-85506
Тут ничего не получится по идее.