• 1) Дан целочисленный массив размера N. Назовем серией группу подряд идущих одинаковых элементов, а длиной серии — количество этих элементов (длина серии может быть равна 1) 

    Вывести массив, содержащий длины всех серий исходного массива.

     

     

     

    2) Проверить, образуют ли элементы целочисленного массива размера N 1)арифметическую,2)геометрическую прогрессию. Если да, то вывести 1)разность2) знаменатель прогрессии, если нет — вывести 0.

Ответы 1

  • Если не ошебаюсь то так ) Дан массив размера N. Найти номера тех элементов массива, которые больше своего правого соседа, и количество таких элементов. Найденные номера выводить в порядке их возрастания. var a,d:array[1..255]of integer; i,c,n:byte; begin write('n='); read(n); for i:=1 to n do begin write('a[',i,']='); read(a) end; writeln; c:=0; for i:=1 to n-1 do if a>a[i+1] then begin c:=c+1; d[c]:=i end; writeln('TaKuX EJIEMEHTOB:',c); for i:=1 to c do write(d,' '); writeln end. 2) Дан целочисленный массив A размера N,являющийся перестановкой. Найти количество инверсий в данной перестановке,т.е. таких пар Ai И Aj элементов в которых большее число находится слева от меньшего:Ai>Aj при i<j>L) и целочисленный массив размера N. Заменить каждую серию массива, длина которой меньше L, на один элемент с нулевым значением. Что-то я не понял, что это за Л? Вот решил так: var a:array[1..256]of integer; i,j,n:byte; c:integer; begin write('n='); read(n); for i:=1 to n do begin write('a[',i,']='); read(a) end; writeln; c:=0; for i:=1 to n-1 do for j:=i+1 to n do if a>a[j] then inc(c); writeln('Колличество инверсий - ',c); end.

  • Добавить свой ответ

Еще вопросы

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years